- app_reference 企 襷. (貉殊 spname, refcount)
- 襦 ろ spname螻 refcount襯 蟆伎 refcount螳 1 伎企 蠍壱螻, 0企 ろ
- 襦 襷 襷讌襷 refcount -1 伎. 蟲 企慨覃..
use tempdb
go
--drop table app_reference
create table app_reference
(
spname nvarchar(255) primary key
, refcount int
)
--蟯襴 sp襯 覩碁Μ 焔.
insert app_reference values('usp_test', 0)
go
create proc usp_test
as
declare @refcount int
while(1=1)
begin
update app_reference
set @refcount = refcount = refcount + 1
where spname = 'usp_test'
if @refcount = 1
break
else
waitfor delay '00:00:5'
end
select 1
waitfor delay '00:00:20'
/*
code..
*/
update app_reference
set refcount = 0
where spname = 'usp_test'
go
襦襯 ろ覃 20豐螳 ろ 蠍壱. 20豐 るジ 語 app_reference襯 譟壱 覲企 refcount螳 1 蟆 . 20豐螳 讌覃 襦 危 讌, 襷讌襷 refcount襯 -1 蟆企. 蠏碁覩襦 豕譬朱 語 1襦 讌 覦 . 襦螳 ろ譴 る襯 殊狩 朱襦 try ~ catch 襯 伎 語襴螻, 觜 appreference refcount襯 覈 0朱 豐蠍壱 る 襦襯 語襦 れ 朱 譬 蟆企.
觜訣 覦覯朱.. 襦 語襷 ろ 覯襯 譯朱 覦覯 螻ろ 覲朱 .