alter procedure [dbo].[pro_get_sys_ordr_lock_info](
@ordr_head_seq 編號,
@ordr_typ_cd varchar(20)
)asbegin
select count(1) as is_lock
from t_sys_ordr_lock where ordr_head_seq = @ordr_head_seq
and ordr_typ_cd = @ordr_typ_cd
end
alter procedure [dbo].[pro_set_sys_ordr_lock_info](
@ordr_head_seq 編號,
@ordr_typ_cd varchar(20),
@is_lock varchar(200), -- 1或0
@login_usr_id int --登入使用者id
)asbegin
if isnull(@is_lock, 0) = 1
begin
insert t_sys_ordr_lock(lock_usr_id, lock_dtim, ordr_head_seq, ordr_typ_cd)
values(@login_usr_id, getdate(), @ordr_head_seq, @ordr_typ_cd)
end else
begin
delete from t_sys_ordr_lock where ordr_head_seq = @ordr_head_seq and ordr_typ_cd = @ordr_typ_cd
end
end
加鎖就插入一條資料,解鎖就刪除一條資料
儲存過程解鎖
1.檢視是哪乙個過程被鎖住 查v db object cache檢視 select from v db object cache where owner 過程的所屬使用者 and locks 0 2.檢視是哪乙個sid,通過sid可以知道是哪乙個session 查v access檢視 select ...
unix c檔案加鎖解鎖
引數lock指標 引數lock指標為flock 結構指標,定義如下 struct flock l type 有三種狀態 f rdlck 建立乙個供讀取用的鎖定 f wrlck 建立乙個供寫入用的鎖定 f unlck 刪除之前建立的鎖定 l whence 也有三種方式 seek set 以檔案開頭為鎖...
ORACLE 009 儲存過程加鎖
最近碰到一種情況,需要限制某個儲存過程只能有乙個程序在執行,上乙個執行完畢後下乙個再執行。也就是類似與程式開發中的執行緒同步問題。彙總乙個下,可以通過如下方法來實現。1 設定乙個變數,或者表中的某個欄位為標識位,執行時設定為某個值,執行完後再設定為原來的值。這種方式的要求設定標識位的地方和判斷這個標...