国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

判斷表中的數(shù)據(jù)是否被其他表中使用過(guò)!!

2024-07-21 02:11:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友


create procedure dbo.systemfuntion_hasbeused
@ptablename varchar(100), --要檢查數(shù)據(jù)是否被使用的主鍵表名稱
@pkvalue int,    --主鍵字段的值
@isused  int output
as

 declare @tablename varchar(100) --外鍵表的名稱
 declare @fkname varchar(100) --外鍵字段名稱
 declare @fkey int
 
 declare @sql varchar(8000)

 set @sql = 'select 0 as colcount into #temptablecol union '

 declare cursorfktable  cursor for
  select b.[name] as tablename , a.fkey
  from sysforeignkeys a inner join sysobjects b on a.fkeyid=b.[id] inner join sysobjects c on a.rkeyid=c.[id]
  where c.[name][email protected]
  
  open cursorfktable
  fetch next from cursorfktable into @tablename,@fkey

  while @@fetch_status = 0
  begin

  select @fkname = a.[name] from syscolumns a inner join sysobjects b on a.[id]=b.[id] where  b.[name][email protected] and @fkey=a.colid
  
  set @sql = @sql + 'select  case when count(*)=0 then 0 else 1 end from ' + @tablename +' where ' + @fkname + '=' + cast(@pkvalue as varchar(100))
  set @sql = @sql + ' union  ' 

    fetch next from cursorfktable into @tablename,@fkey
 end
    close cursorfktable 
    deallocate cursorfktable      

select @sql = left(@sql,len(@sql)-6)
exec(@sql)
select @isused = @@rowcount-1
go


使用方法:

/***********獲取當(dāng)前主鍵值是否被其他表使用過(guò)(@haspkvaluebeused as haspkvaluebeused)*************/
 declare @haspkvaluebeused int
 execute systemfuntion_hasbeused 'tlsubjectplan',@subjectplanid,@[email protected] output
/*******************************************************************************/
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 香格里拉县| 苗栗县| 安乡县| 永春县| 昌平区| 鸡西市| 宽甸| 云阳县| 遵化市| 江源县| 高邮市| 赤壁市| 凯里市| 海丰县| 新田县| 古交市| 衡水市| 资兴市| 华阴市| 花垣县| 西丰县| 巴楚县| 驻马店市| 许昌县| 兴和县| 威远县| 大港区| 霍邱县| 阿荣旗| 九龙城区| 滕州市| 孝感市| 临漳县| 柳州市| 金秀| 福州市| 寿宁县| 黎平县| 宾川县| 杂多县| 平安县|