當前位置:首頁 » 存儲配置 » oracle存儲過程執行記錄

oracle存儲過程執行記錄

發布時間: 2022-10-02 21:24:00

① oracle存儲過程如何輸出信息

可用DBMS_OUTPUT.PUT_LINE()對存儲過程的進行輸出。

編寫存儲過程:

create or replace procere test_pro(in_num number)

as

M number;

begin

M := in_num;

if 0 < M then

dbms_output.put_line('輸出sql語句1');

elsif M < 3 then

dbms_output.put_line('輸出SQL語句2');

else

dbms_output.put_line('nothing');

end if;

end;

(1)oracle存儲過程執行記錄擴展閱讀;

存儲在資料庫的數據字典中,存儲在當前的應用中安全性由資料庫提供安全保證,必須通過授權才能使用存儲子程序,安全性靠應用程序來保證,如果能執行應用程序,就能執行該子程序。模式描述IN參數用來從調用環境中向存儲過程傳遞值,不能給IN參數賦值,給此參數傳遞的值可以是常量、有值的變數、表達式等。

② 如何查看oracle中存儲過程執行的歷史記錄

select t.sql_id,
t.sql_text,
s.plan_hash_value,
s.optimizer_cost,
s.executions_total,
s.elapsed_time_total,
s.disk_reads_total,
s.buffer_gets_total
from DBA_HIST_SQLSTAT s, DBA_HIST_SQLTEXT t
where s.sql_id=t.sql_id
and t.sql_text like'%存儲過程名稱%';

沒有想到其他好辦法,確實不太好查了,把存儲過程當作SQL來查找吧。

③ Oracle存儲過程中如何獲得DELETE語句執行後刪除的記錄數

存儲過程中可以通過在delete語句執行的前後分別select count(*) from tablename 查詢出當前表的記錄條數,然後相互相減就可以得到delete語句刪除的條數。

createorreplaceprocerep_procereas
numinteger;
beforenuminteger;
afternuminteger;
begin
selectcount(*)intobeforenumfromtb1;
EXECUTEIMMEDIATE'deletefromtb1where.';
selectcount(*)intoafternumfromtb1;
num:=beforenum-afternum;
end;

④ oracle 存儲過程執行

發兩個例子你仔細看。
--1.存儲過程
create or replace procere print(msg varchar2)
is
begin
dbms_output.put_line(msg);
end;

--1.1 調用存儲過程
execute print('helloworld');

--1.3 傳遞參數
create or replace procere myabs(p_num1 IN number,p_num2 OUT number)
is
begin
if p_num1 >0 then
p_num2 := p_num1;
else
p_num2 := (0 - p_num1);
end if;
end;

--調用
declare
v_result number;
begin
myabs(-987,v_result);
print(v_result);
end;
打字不易,如滿意,望採納。

⑤ Oracle 如何能得到執行過的存儲過程

需要在存儲過程中定義的時候把開始執行時間和結束時間列印出來。

舉例如下:

創建存儲過程:


createorreplaceprocerep_testasv_begintimevarchar2(20);v_endtimevarchar2(20);v_strvarchar2(10);beginv_begintime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');select'badkano'intov_strfromal;v_endtime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');dbms_output.put_line('開始時間為:'||v_begintime);dbms_output.put_line('結束時間為:'||v_endtime);end;end;

執行存儲過程:


beginp_test;end;

執行結果:

說明:由於樣例存儲過程過於簡單,但在進行過多數據處理的時候,看到的結果會比較明顯。

⑥ oracle怎樣查看正在執行的存儲過程

1、在存儲過程中加一個輸出參數,執行完存儲過程後,判斷輸出參數的值;

2、查看存儲過程中處理數據後,你要的效果達到沒有。

⑦ Oracle存儲過程編寫

Oracle存儲過程基本語法:
CREATE?OR?REPLACE?PROCEDURE?存儲過程名?
IS?
BEGIN?
NULL;?
END;解釋:
行1:?
CREATE OR REPLACE PROCEDURE 是一個SQL語句通知Oracle資料庫去創建一個叫做skeleton存儲過程, 如果存在就覆蓋它;?
行2:?
IS關鍵詞表明後面將跟隨一個PL/SQL體。?
行3:?
BEGIN關鍵詞表明PL/SQL體的開始。?
行4:?
NULL PL/SQL語句表明什麼事都不做,這句不能刪去,因為PL/SQL體中至少需要有一句;?
行5:?
END關鍵詞表明PL/SQL體的結束。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:627
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:356
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:73
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:297
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:787
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:337
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:202
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:800
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:356
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:582