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...