数据库删除数据时判断数据是否被其他数据表使用1

来源:互联网 发布:json取不到值 编辑:程序博客网 时间:2024/06/05 13:23
USE [DB_www]
GO
/****** Object:  StoredProcedure [dbo].[CheckDeleteFieldValue]    ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROC [dbo].[CheckDeleteFieldValue] @TableName VARCHAR(50), @FieldName VARCHAR(50),@FieldValue VARCHAR(500)
AS
BEGIN
DECLARE @SQL NVARCHAR(2000),@Used INT
Declare @Name  nvarchar(100)
SET @Used=0
Declare Cur Cursor For
SELECT ob.name FROM SYS.columns cl ,sys.objects ob WHERE cl.name=@FieldName AND cl.object_id=ob.object_id
AND ob.type='U' AND ob.name<>@TableName
Open Cur
Fetch NEXT From Cur Into @Name
While @@fetch_status=0
BEGIN
SET @SQL=' Select @Used = Count('+@FieldName +') from '+@Name +' Where '+@FieldName +'='+ ''''+@FieldValue+''''
exec sp_executesql @sql,N'@Used int out',@Used out
if @Used>0
break
Fetch Next From Cur Into @Name
END
IF @Used=0
  SELECT '' AS USE_TABLE 
ELSE 
  SELECT @Name AS USE_TABLE
 
CLOSE Cur
DEALLOCATE Cur
END 
阅读全文
0 0
原创粉丝点击