儲存過程中一些用到的語句的整理

2021-07-30 05:18:16 字數 2103 閱讀 6858

一、儲存過程格式:

2)一般儲存過程中有兩種:一種是帶引數的儲存過程,一種是不帶引數的儲存過程。

不帶引數的儲存過程示例:

create or replace procedure pro_custbd_ods_monitor is

begin

/*執行語句

*/exception

when others then

rollback;

end;

帶引數的儲存過程示例:

procedure pro_infoloc_yhl_sj(end_date_in varchar2) is

begin

/*帶有引數end_date_in的語句

*/exception

when others then

rollback;

end;

3)儲存過程中可以定義一些變數並給這些變數賦值。例如:

procedure pro_infoloc_yhl_sj(end_date_in varchar2) is

c_zb_code constant varchar2(30) := 'pro_infoloc_yhl_sj';

--常量:定義常量時需要使用constant關鍵字,並且必須在宣告時就為該常量賦值。而且在程式其他部分不能修改該常量的值。

--常量的語法格式為:constant_name constant data_type value; 賦值號是  :=

l_job_id    number;

l_ver_month varchar2(8); 

begin

l_job_id    := pac_infoloc_util.log_job_inte***ce_start(g_pkg_name,

c_zb_code,

end_date_in);

l_ver_month := substr(end_date_in, 1, 6);

/*語句

delete from loc_t_ods_pic_emp t where t.ver_month = l_ver_month;

*/exception

when others then

rollback;

end;

4)儲存過程中一些特殊語句的解釋:

pragma autonomous_transaction

當前的儲存過程作為已有事務的子事務執行,子事務的commit,rollback操作不影響父事務的狀態

oracle中的sqlcode和sqlerrm函式

sqlcode函式用來返回pl/sql執行內部異常**。

sqlerrm函式返回指定錯誤**的錯誤資訊。

sqlcode和sqlerrm是不能直接在sql語句中使用,必須先將其賦值給變數後,才能在sql語句中使用。

sqlerrm用的最多的是在pl/sql程式設計中來捕獲異常的詳細資訊,特別是在when other中使用非常有用。

dbms_utility.format_error_backtrace 返回當前異常相應的描述。系統為最近一次生成的異常設定了乙個棧,並跟蹤它的傳遞過程,而這個函式使用這個棧,然後返回該異常的整個傳遞過程。這個函式對錯誤的定位和實施下一步處理起著至關重要的作用。

execute immediate 解析並馬上執行動態的sql語句

execute immediate,它解析並馬上執行動態的sql語句或非執行時建立的pl/sql塊

sql%rowcount 用於記錄修改的條數

sql%rowcount用於記錄修改的條數,就如你在sqlplus下執行delete from之後提示已刪除xx行一樣,

這個引數必須要在乙個修改語句和commit之間放置,否則你就得不到正確的修改行數。

例如:l_logmemo := substr(sqlcode || ';' || sqlerrm ||

dbms_utility.format_error_backtrace,

1,500);

execute immediate 'alter table dm_custbd_index_month truncate partition part_cusind_cas012'; 

二.包與儲存過程示例

示例二:

儲存過程中的一些片斷

create or replace procedure 儲存過程名 astype ref cursor is ref cursor 定義游標 mycursor ref cursor 定義需要的變數 變數1 number begin 變數ny to char sysdate,yyyymm strsql...

GitBook部署過程中用到的一些指令

2 安裝gitbook 首先設定npm上網 npm config set proxy http user password proxy host proxy port注1 在配置時輸入的配置命令列都可以在c盤user目錄下的使用者名稱目錄中的.npmrc找到 用notepad開啟 注2 執行npm指...

開發過程中用到的一些知識

在後台給前台控制項賦值16進製制的顏色 控制項名.background new solidcolorbrush color colorconverter.convertfromstring ff54c0dc wpf監控方法 timer timer timer new system.threading...