oracle存儲過程導入
① 創建oracle存儲過程,要求把一個表的數據導入另一個表中然後刪除原表且要有異常處理和日誌輸出
又是你呀,我再把代碼改改,很簡單,代碼如下
create or replace procere test
is
begin
--兩個表欄位一樣
insert into 表名1 select * from 表名2;
--欄位不一樣
insert into 表名1(欄位1,欄位2,欄位3) select 欄位1,欄位2,欄位3 from 表名2;
--刪除原表數據
delete 表名2
或者
TRUNCATE TABLE 表名2
COMMIT;
WHEN OTHERS THEN --當運行出現異常
dbms_output.put_line(sqlERRM(SQLCODE));--輸出到控制台
end
② 如何把oracle存儲過程保存到資料庫里
oracle
存儲過程的基本語法
1.基本結構
CREATE
OR
REPLACE
PROCEDURE
存儲過程名字
(
參數1
IN
NUMBER,
參數2
IN
NUMBER
)
IS
變數1
INTEGER
:=0;
變數2
DATE;
BEGIN
END
存儲過程名字
2.SELECT
INTO
STATEMENT
將select查詢的結果存入到變數中,可以同時將多個列存儲多個變數中,必須有一條
記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND)
例子:
BEGIN
SELECT
col1,col2
into
變數1,變數2
FROM
typestruct
where
xxx;
EXCEPTION
WHEN
NO_DATA_FOUND
THEN
xxxx;
END;
...
3.IF
判斷
IF
V_TEST=1
THEN
BEGIN
do
something
END;
END
IF;
4.while
循環
WHILE
V_TEST=1
LOOP
BEGIN
XXXX
END;
END
LOOP;
5.變數賦值
V_TEST
:=
123;
6.用for
in
使用cursor
...
IS
CURSOR
cur
IS
SELECT
*
FROM
xxx;
BEGIN
FOR
cur_result
in
cur
LOOP
BEGIN
V_SUM
:=cur_result.列名1+cur_result.列名2
END;
END
LOOP;
END;
7.帶參數的cursor
CURSOR
C_USER(C_ID
NUMBER)
IS
SELECT
NAME
FROM
USER
WHERE
TYPEID=C_ID;
OPEN
C_USER(變數值);
LOOP
FETCH
C_USER
INTO
V_NAME;
EXIT
FETCH
C_USER%NOTFOUND;
do
something
END
LOOP;
CLOSE
C_USER;
8.用pl/sql
developer
debug
連接資料庫後建立一個Test
WINDOW
在窗口輸入調用SP的代碼,F9開始debug,CTRL+N單步調試
③ oracle 11G中 怎樣導入 視圖和存儲過程
利用客戶端軟體OBJECT BROWSER或者PLSQL
表示菜單中有一個腳本實行項,打開,把你的視圖和存儲過程的SQL文件選擇好後,點擊實行就好了.
④ oracle 怎麼用存儲過程導入DMP文件,而且是遠程操作的
哈,開個玩笑先。遠程操作就不要加了嘛,因為幾乎所有的人都遠程操作oracle。
你是不是新安裝了一台伺服器,把原來的數據(包括存儲過程等)全備份再導入新伺服器?
簡單一點的你下載個TOAD軟體,再選擇相應的是導入導出,一般新伺服器選database方式。當然,這里不知道你的情況,具體還得看你自己的需求了。
⑤ oracle如何存儲過程導入.def文件數據
可以使用外部表,和sqlldr一樣的原理。外部表指向操作系統文件,可以直接查詢外部表,和查詢普通表是一樣的。
⑥ datastage V8.5版本怎麼讀取oracle存儲過程呢使用表結構導入功能,只能看到表和視圖。
通過導入元數據的方法,是無法導入存儲過程的。
要導入存儲過程,需要配置oracle伺服器的ODBC連接。
datastage一般都已經安裝了各種資料庫的ODBC驅動程序的,基本是包含了絕大部分的資料庫。使用的時候只需要對這些ODBC進行配置就可以,而不需要另外找什麼ODBC驅程來安裝。
配置過程基本就是對兩個文件進行修改:
.odbc.ini和uvodbc.config
注意第一個文件前面是有個「.『的。
具體配置可以參考 $DSHOME/Sample/ 路徑下的例子和說明文檔。
⑦ Oracle如何導入存儲過程各位大蝦,幫幫忙!
各位大蝦,幫幫忙! 使用Oracle導入表可以,但應該怎麼導入存儲過程呢? 滿意答案未知元素7級2011-01-17你是使用imp程序導入的,是吧?如果用imp的話,直接導入就可以了! 追問: 我導入了,不過載存儲過程裡面沒有啊! 回答: 你刷新一下看看! 追問: 刷新了,不過就是沒有啊!導入表可以,但是存儲過程就不行了!導出存儲過程的時候是用導出用戶對象導的,但是導入的時候只能用導入表啊,還有其他的方法嗎? 回答: 你可以試著使用exp命令導出,然後imp命令導入! 追問: 哦!我知道了,試一下!謝謝!
⑧ 如何把導出的表和存儲過程導入oracle
可以使用expdp,不過很麻煩 主要是看你的需求,如果只是一兩個存儲過程,例: select text from all_source where name = '『; --引號裡面填寫要查看的存儲過程名字。
⑨ oracle imp命令怎麼只導入某個存儲過程
通過輸入 IMP 命令和您的用戶名/口令, 導入
操作將提示您輸入參數:
例如: IMP SCOTT/TIGER
或者, 可以通過輸入 IMP 命令和各種參數來控制導入
的運行方式。要指定參數, 您可以使用關鍵字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例如: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1:P1,T1:P2), 如果 T1 是分區表
USERID 必須是命令行中的第一個參數。
關鍵字 說明 (默認值) 關鍵字 說明 (默認值)
--------------------------------------------------------------------------
USERID 用戶名/口令 FULL 導入整個文件 (N)
BUFFER 數據緩沖區大小 FROMUSER 所有者用戶名列表
FILE 輸入文件 (EXPDAT.DMP) TOUSER 用戶名列表
SHOW 只列出文件內容 (N) TABLES 表名列表
IGNORE 忽略創建錯誤 (N) RECORDLENGTH IO 記錄的長度
GRANTS 導入許可權 (Y) INCTYPE 增量導入類型
INDEXES 導入索引 (Y) COMMIT 提交數組插入 (N)
ROWS 導入數據行 (Y) PARFILE 參數文件名
LOG 屏幕輸出的日誌文件 CONSTRAINTS 導入限制 (Y)
DESTROY 覆蓋表空間數據文件 (N)
INDEXFILE 將表/索引信息寫入指定的文件
SKIP_UNUSABLE_INDEXES 跳過不可用索引的維護 (N)
FEEDBACK 每 x 行顯示進度 (0)
TOID_NOVALIDATE 跳過指定類型 ID 的驗證
FILESIZE 每個轉儲文件的最大大小
STATISTICS 始終導入預計算的統計信息
RESUMABLE 在遇到有關空間的錯誤時掛起 (N)
RESUMABLE_NAME 用來標識可恢復語句的文本字元串
RESUMABLE_TIMEOUT RESUMABLE 的等待時間
COMPILE 編譯過程, 程序包和函數 (Y)
STREAMS_CONFIGURATION 導入流的一般元數據 (Y)
STREAMS_INSTANTIATION 導入流實例化元數據 (N)
DATA_ONLY 僅導入數據 (N)
下列關鍵字僅用於可傳輸的表空間
TRANSPORT_TABLESPACE 導入可傳輸的表空間元數據 (N)
TABLESPACES 將要傳輸到資料庫的表空間
DATAFILES 將要傳輸到資料庫的數據文件
TTS_OWNERS 擁有可傳輸表空間集中數據的用戶
希望能有你想要的
⑩ oracle 含有存儲過程的數據怎麼導入
實際上存儲過程向表中插入數據和sql執行的區別是不大的,只不過是存儲過程是用loop等循環插入,之後順序執行sql語句,不用命令行執行。