標籤:
一、基本文法(以及與informix的比較) create [or replace] procedure procedure_name (varible {IN|OUT|IN OUT} type) {IS|AS}
[varible { in | out | in out }] type;
[varible { in | out | in out }] type;
...... [cursor curor_name IS select subclause]
begin body end [procedure_name];
for example: create or replace procedure sp_login_error_count(user_name_var varchar2) IS
--建立名為sp_login_error_count的預存程序,並定義傳參
--informix的文法(drop procedure sp_login_error_count;create procedure sp_login_error_count(user_name_var varchar(50))) error_count_var integer;
--變數定義
--informix文法(define error_count_var integer;) begin
--程式開始
--informix文法一樣 select error_count into error_count_var from users where user_name=user_name_var;
--select語句,找到的值放到變數中
--informix文法一樣 error_count_var :=error_count_var+1;
--變數加1,這是pl/sql的變數賦值運算。
--informix文法(let error_count_var=error_count_var+1;) update users set error_count= error_count_var where user_name =user_name_var ;
--更新統計數
--informix文法一樣 commit;
--提交
--informix不需要提交 end sp_login_error_count;
--結束預存程序
--informix文法(end procedure;)
ORACLE預存程序執行為execute procedure_name或exec procedure_name
INFORMIX預存程序執行為execute procedure procedure_name pl/sql程式由三個塊組成:聲明部分、執行部分、異常處理部分declare
/* 聲明部分: 在此聲明PL/SQL用到的變數,類型及游標 */
begin
/* 執行部分: 過程及SQL語句 , 即程式的主要部分 */
Exception
/* 執行異常部分: 錯誤處理 */
End; 其中 執行部分是必須的。
轉:ORACLE預存程序筆記1----基本文法(以及與informix的比較)