oracle儲存過程中update語句一直在執行中無法更

時間 2021-08-14 09:12:54

1樓:仙戈雅

嘗試更改sql指令碼如下所示:

create or replace procedure  test_wz(in_yf in varchar2)

isv_yf varchar(50);

begin

v_yf:=in_yf;

update log_insert  -- 不要用別名set zfsjdc_date=sysdatewhere month=v_yf and unusual_flag='0';

-- 去掉commit;因為你不是在oracle sql plus環境下執行。

end test_wz;

2樓:育知同創教育

可能這個表被別的使用者鎖了;

select sess.sid,

sess.serial#,

lo.oracle_username,

lo.os_user_name,

ao.object_name,

lo.locked_mode

from v$locked_object lo, dba_objects ao, v$session sess

where ao.object_id = lo.object_idand lo.session_id = sess.sid;

--殺掉會話

alter system kill session 'sid,serial#';

3樓:匿名使用者

表鎖了,應該是有別的程式操作了這條記錄,沒有提交事物。

oracle的儲存過程中,有2條update語句,那2次update是預設在同一個事務中還是分別執行相互沒有影響?

4樓:匿名使用者

儲存過程裡面。 如果你沒有在兩條 sql 語句之間,寫 commit / rollback 之類的語句。

那麼這2條 update 是預設在一個事務裡面的。

DB2儲存過程中游標能不能像oracle那樣以遊標名 列名的方式使用

方式1 9.7以後支援 預先定義相應的row型別 然後row變數名.列名使用 方式2,for迴圈遊標 for v1 as c1 cursor for.後面就可以用遊標名.列名來引用了 db2 中游標的用法 oracle儲存過程中定義遊標 放到begin裡面不要declare,在過程和函式裡面申明變數...

oracle定義oracle儲存過程輸出1100之間

翔阿狗 create or replace function isprime num in number return boolean isbegin if num 1 then return false end if for i in 2.num 1 loop if mod num,i 0 the...

在oracle中建立儲存過程,來迴圈獲取a表中存放的查詢sql語句並一條一條的執行該sql語句並存下來

create or replace package body pkg a testpackage is procedure pkg a testprocedure prm 引數 in varchar2,prm 返回值 out number,prm 錯誤資訊 out varchar2 is type ...