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

2021-08-14 09:12:30 字數 993 閱讀 5568

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 是預設在一個事務裡面的。

oracle儲存過程中return和exit的區別分析

建立或替抄換程式sp newtrip ptripid t trip.tripid type,ptruckid t trip.truckid type,pdate t trip.tripdate type,pmsg出varchar2 asv weektimes數 10 預設為0 開始select co...

oracle怎麼寫儲存過程,oracle 儲存過程,寫一個簡單的Oracle儲存過程

給你示例你參考下 建立儲存過程 create or replace procedure p name 儲存過程名字 i var in int,輸入引數1 o var out varchar2 輸出引數1 is v str varchar2 200 定義儲存過程內部的區域性變數 begin 下面是儲存...

oracle建立儲存過程有小紅叉儲存過程新手請

說一下你的問題 在儲存過程中,一個select語句中,查詢的欄位必須要放到變數中也就是select 欄位1 into 變數1 from 表名 where 條件 這樣才不會報錯 而你這個,沒什麼實際的意義 你要是非想讓它不紅叉,可以這樣 create or replace procedure p tf...