数据库删除数据时判断数据是否被其他数据表使用1
2017-07-11 14:28
330 查看
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
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
相关文章推荐
- 判断表中的数据是否被其他表中使用过!!
- 删除数据时检查数据是否被其他数据表使用,其他位置使用了,就不给删除
- 判断表中的数据是否被其他表中使用过!!
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 如果把记录从数据库里面删除,判断是否重复?
- [导入]实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 实现删除主表数据时, 判断与之关联的外键表是否有数据
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 还原Wss3.0内容数据库时遇到:"ComputerName\Microsoft##SSEE 上的 WSS_Content 包含用户定义的架构。数据库在能够使用之前必须为空。请删除所有表、存储过程以及其他对象,或使用其他数据库。 " 的提示,无法加载内容数据库
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 判断数据库中是否已存在某数据表
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除 (转)
- 保存数据库中其他对象不变,删除数据库中所有数据的实现方法
- 保存中其他对象不变,删除数据库中所有数据的实现方法
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- [关于判断输入数据是否在数据库中的方法。]