pl/sql儲存過程(procedures),可以動態進行sql語句的執行,比如說我們要定時去向資料庫插入資料,我們可以寫儲存過程,然後用定時器去觸發執行。
每個pl/sql子程式都有乙個名稱,也可能有乙個引數列表。 像匿名pl/sql塊一樣,命名塊也將具有以下三個部分
編號部分描述1
宣告部分
這是乙個可選的部分。 但是,子程式的宣告部分不以declare關鍵字開頭。 它包含型別,游標, 常量,變數,異常和巢狀子程式的宣告。這些項是本 子程式,當子程式完成執行時,它們將不復存在
2可執行部分
這是乙個強制性部分(必須有),幷包含執行指定操作的語句。
3異常處理
這是乙個可選的部分。它包含處理執行時錯誤的**。
建立儲存過程
語法
create [or replace] procedure procedure_name
[(parameter_name [in | out | in out] type [, ...])]
begin
< procedure_body >
end procedure_name;
其中
示例 (從user表匯入前一天的資料到user_all表)
create or replace procedure user_all_pro is
cursor cur is
select t.user_id,t.gr_jbxx_id,t.xm,t.zjlxdm,t.zjhm,t.csrq,t.sjhm
from user t
where to_char ( to_date ( t.xt_xgsj , 'yyyy-mm-dd hh24:mi:ss' ) , 'yyyy-mm-dd') = to_char( sysdate-1 , 'yyyy-mm-dd')
order by t.xt_xgsj desc ;
begin
for nrow in cur loop
insert into user_all_pro
(user_id,gr_jbxx_id,xm,zjlxdm,zjhm,csrq,sjhm)
values
(nrow.user_id,nrow.gr_jbxx_id,nrow.xm,nrow.zjlxdm,nrow.zjhm,nrow.csrq);
end loop;
commit;
end user_all_pro ;
執行儲存過程
在pl/sql頂部選單中,新建–>命令視窗(command window)
執行exec user_all_pro ();
按回車,如果顯示以下資訊,則儲存過程執行成功
sql> exec user_all_pro();
pl/sql procedure successfully completed
ORACLE資料庫PLSQL筆記
oracle資料庫plsql筆記 pl sql 是oracle的程式語言,用於擴充套件sql的程式設計能力,為資料庫程式增加了許多可能的功能。它允許將過程控制語句與 sql語句結合使用oracle 特有的程式語言pl sql補充了標準的關聯式資料庫語言sql,提供了各種過程化特性,包括迴圈 if t...
PLSQL連線oracle資料庫
方法一 instantclient 12 2 1 安裝 instantclient 12 2 軟體 免安裝oracle客戶端 2 plsql配置 開啟plsql 點取消,彈出plsql主介面 選單欄的tools 屬性preferences 首選項 連線 3 連線資訊 1 連線資訊 可以是ip 152...
plsql 匯出oracle資料庫
plsql 匯出資料庫有兩個問題,乙個是只匯出結構,乙個是匯出表結構加資料這樣的,首先人家讓我導成sql語句 這不是簡單,首先開啟plsql 一 匯出結構 1 然後tools export user objects.然後出來一片空白 2 要選擇哪個user 3 上面會出現好多表,選擇一下你要匯出的表...