ORACLE儲存過程建立和呼叫
主要總結下遇到個幾個問題:
1、在業務程式碼執行時,賦值給一個變數,需要使用:=,而不是=;
2、在plsql中執行完建立語句,呼叫報錯
解決辦法:
右鍵編輯儲存過程,在控制檯中可以看到報錯資訊,點選錯誤資訊,可以看到出錯程式碼被標紅
3、在查詢資料時,發現有人用is代替as來寫,在這裡總結一下在ORACLE中儲存過程的通用模板:
create or replace procedureName/(name in out vachar,age in varchar)----需要傳參時,加上斜槓後代碼
is/as----這裡is,as都可以,後面還可以宣告變數,如:as resultCount number
begin
----這裡寫sql業務程式碼,常用的處理方法if then-else-end if;
exception
----這裡寫異常處理資訊,常用處理方法when then---when others then---end;
when too_many_rows then
DBMS_OUTPUT.PUT_LINE('返回值多於1行');
when others then
DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS過程中出錯!');
end;
4、執行儲存過程方法:
declare
realgasoffername varchar2(255);----注意一下,引數型別需要和資料庫一致
begin
realgasoffername:='test';----引數賦值
runbyparmeters();---呼叫儲存過程
DBMS_OUTPUT.PUT_LINE(REALGASOFFERNAME||' hahaha '||'lalala');
end;
5、常用的儲存過程sql:
----ORACLE根據名稱一行行顯示儲存過程
select text from user_source where name = 'runbyparmeters' order by line;
---=查詢當前使用者的儲存過程
select * from user_objects where object_type = 'PROCEDURE';