oracleplsql存儲過程
① oracle中的存儲過程,有什麼作用
定義:存儲過程(Stored Procere )是一組為了完成特定功能的sql 語句
集,經編譯後存儲在資料庫中。用戶通過指定存儲過程的名字並給出參數
(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要
對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
存儲過程是由流控制和SQL 語句書寫的過程,這個過程經編譯和優化後
存儲在資料庫伺服器中,應用程序使用時只要調用即可。在ORACLE 中,
若干個有聯系的過程可以組合在一起構成程序包。
優點:存儲過程只在創造時進行編譯,以後每次執行存儲過程都不需再重新編譯,而一般SQL語句每執行一次就編譯一次,所以使用存儲過程可提高資料庫執行速度。
2.當對資料庫進行復雜操作時(如對多個表進行Update、Insert、Query、Delete時),可將此復雜操作用存儲過程封裝起來與資料庫提供的事務處理結合一起使用。
3.存儲過程可以重復使用,可減少資料庫開發人員的工作量。
4.安全性高,可設定只有某用戶才具有對指定存儲過程的使用權。
你還是給我點分啥,寫得我手都酸痛了。
② oracle sql/plus中執行存儲過程
因為有輸出參數,所以只能通過declare塊執行,如下:
declare
聲明變數,就是CodeType 、input_code、cu_patient ,可對前兩個直接賦值
begin
GetSampleInfo(CodeType, input_code,cu_patient) ;
end;
/
----
多動動手!如果沒輸出參數可以直接"exec 過程名(參數)"調用,否則就按我說的做,自己往裡添加代碼就行
③ oracle的存儲過程是不是就是用plsql寫的程序
plsql只是一個圖形化界面的工具,用於與資料庫交互的。
存儲過程可以用上面的工具寫,你也可以寫在文本文檔里寫好,然後導入資料庫,也可以直接在cmd命令窗口裡寫
④ oracle plsql怎麼調試存儲過程
1、首先是編寫存儲過程,編譯無誤;
2、添加debug信息。為了能夠單步跟蹤存儲過程,需要為其所在的包添加debug信息,右鍵點擊需要調試的存儲過程名稱,在彈出菜單中選中[add debug information],這樣就為包體添加了調試信息;
3、選擇需要調試的存儲過程名稱,點擊右鍵,在彈出菜單中 選擇[Test],進去測試窗口,測試窗口中有為了測試該存儲過程自動所產生的代碼,當然你也可以自己另外加入和修改代碼,自動生成的代碼已經足夠了。
⑤ oracle sql窗口下怎麼執行存儲過程
直接
exec 存儲過程
即可。
如果你問的是plsql developer 工具中的 sql window ,它是無法執行存儲過程的,只能新建一個command window 。
⑥ oracle 在plsql中如何新建存儲過程 我要的是步驟 ,我還想問下 如何把一個伺服器上的過程拿到另一個伺服器
create or replace procere sp_ as
--定義變數
begin
--匿名塊
exception --異常處理;
end;
直接拷貝到另外一個伺服器,然後查看新的伺服器下是否有對應的表存在,沒有自己建。
⑦ 怎麼才oracle中查看存儲過程
可用語句查看或用第三方工具查看。
一、語句查看方法:
1、執行語句:
SELECTtext
FROMuser_source
WHERENAME='ProcereName'
ORDERBYline;--其中ProcereName為存儲過程名字,需要全部用大寫英文。
2、如要查P_TEST的存儲過程:
SELECTtext
FROMuser_source
WHERENAME='P_TEST'
ORDERBYline;
3、內容如下:
⑧ plsql中怎麼調用帶輸出參數的存儲過程
1、首先打開一個的PLSQL Developer的界面中,點擊左上角的工具,如下圖所示。
⑨ oracle中怎麼在plsql中調用存儲過程
打開set
serveroutput
on還需要有輸出內容才可以顯示。
如,有以下存儲過程:
create or replace procere p_test
as
v_begintime varchar2(20);
v_endtime varchar2(20);
v_str varchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
select 'badkano' into v_str from al;
v_endtime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
dbms_output.put_line('開始時間為:'||v_begintime);
dbms_output.put_line('結束時間為:'||v_endtime);
end;執行:
其中後邊紅框輸入,就是set
serveroutput
on的輸出內容。
⑩ PL_sql如何執行oracle存儲過程
要成功執行這個存儲過程,你需要注意幾點:
1.select * from ods_area; 不能直接在pl/sql 中作為語句執行。
應該用 select 欄位 into plsql變數 from 表名;
的形式來獲取表中的數據,保存到plsql變數中。
2. 存儲過程的語法格式為:
create or replace procere area
is
--變數聲明;
begin
--過程主體;
end area;
3. 如果存儲過程代碼無誤,可以通過 "/" 來執行代碼,編譯存儲過程。
4.通過exec 或 execute 來調用編譯後的存儲過程。
例如:
-- 創建procere:
create or replace procere area
is
num number ;
v_areaRecord al%ROWTYPE;
begin
--例子1
select * into v_areaRecord from al;
--例子2
select 12345 into num from al;
end area;
/
-- 通過 / 執行;
--調用
exec area;