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