plsql存儲過程實例
Ⅰ plsql developer 里怎麼寫存儲過程,和執行存儲過程,怎麼查看存儲過程和出現什麼情況算成功執行存儲過程
--建立測試數據:
create table BOOK(編號 number(10),書名 varchar2(20),價格 varchar2(20))
insert into BOOK values(100,'aa','88.77')
select * from BOOK
--建立存儲過程:
create or replace procere query_BOOK(name IN OUT NUMBER,MY_BOOK OUT VARCHAR2,MY_BOOK2 OUT VARCHAR2) is
begin
select 編號 ,書名,價格 INTO name,MY_BOOK,MY_BOOK2 from BOOK where 編號=name;
end query_BOOK;
--調用存儲過程:
declare v_name number(10);
v_my_book varchar2(50);
v_my_book2 varchar2(20);
begin
v_name := 100;
query_BOOK(v_name,v_my_book,v_my_book2); --調用存儲過程
dbms_output.put_line('v_name is: '||v_name);
dbms_output.put_line('v_my_book is: '||v_my_book);
dbms_output.put_line('v_my_book2 is: '||v_my_book2);
exception
when others then
dbms_output.put_line(sqlerrm);
end;
ps:
plsql developer -->File-->new--->SQL window-->然後就可以在彈出的空白窗口裡寫了.
存儲過程寫完後,是否有錯,可以看plsql developer 的左邊列表:
選"My objects"-->proceres-->展開-->看你對應的存儲過程,如果存儲過程前面有紅色交叉,則表示存儲過程有錯.
Ⅱ 如何在plsql中執行存儲過程
create or replace procere job_table asv_sql varchar2(2000);begin v_sql:='create table job_test2 as select * from job_test'; EXECUTE immediate v_sql; EXCEPTION WHEN OTHERS THEN rollback;end job_table; 存儲過程內不能直接使用create或alter,需要使用EXECUTE執行動態語句才可以 還有執行存儲過程,必須在命令窗口內執行
Ⅲ plsql中如何執行存儲過程
實現的方法和詳細的操作步驟如下:
1、第一步,雙擊plsql圖標進入登錄界面,輸入用戶名和密碼,然後傳輸資料庫實例名稱,如下圖所示,然後進入下一步。
Ⅳ plsql中怎麼調用帶輸出參數的存儲過程
1、首先打開一個的PLSQL Developer的界面中,點擊左上角的工具,如下圖所示。
Ⅳ 如何用plsql查看存儲過程的源碼!!!
1、首先雙擊plsql圖標,進入登錄界面,輸入用戶名和密碼,輸送資料庫實例名。
2、點擊左上角new,並點擊sqlwindow,進入到資料庫界面。
3、該圖是資料庫存儲過程的簡單布局。有存儲過程的定義,包括輸入變數、輸出變數等,輸入變數以in定義,輸出以out定義;變數部分:可根據程序需求自行定義;數據處理邏輯部分:可加上增刪改差表的操作;異常處理部分:當程序執行異常時處理。
4、當一個存儲過程寫好之後,需要點擊左上角執行按鈕,或者快捷鍵F8,編譯通過後便可調試程序了。找到需要調試的存儲過程,右鍵點擊test進入到調試界面。
5、點擊左上角調試按鈕。
6、下圖標識區域,分別是調試按鈕,可以單步執行,可以跳過整段執行,也可以跳出。
Ⅵ 如何用plsql每隔5分鍾自動執行一次存儲過程
1,創建一個存儲過程 bb 作用是往pig表中插入數據
SQL> create or replace procere JOB_PRO_TEST as
2 begin
3 insert into JOB_TEST values(sysdate);
4 end;
5 /
Procere created
2,創建一個job,名稱為job2010 ;作用是每分鍾(60×24=1440)執行一次存儲過程JOB_PRO_TEST。
SQL> variable job2010 number;
SQL> begin
2 dbms_job.submit(:job2010,'JOB_PRO_TEST;',sysdate,'sysdate+1/1440');
3 end;
4 /