--SQL删除数据库中所有用户数据表主键--查询删除前的当前数据库所有约束
select * from information_schema.key_column_usagedeclare @TableName nvarchar(250)
--声明读取数据库所有数据表名称游标mycursor1
declare mycursor1 cursor for select name from dbo.SysObjects WHERE OBJECTPROPERTY(ID, "ISUSErTable") = 1
--打开游标
open mycursor1
--从游标里取出数据赋值到我们刚才声明的数据表名变量中
fetch next from mycursor1 into @TableName
--如果游标执行成功
while (@@fetch_status=0)
begin
--定义当前主键约束变量
declare @ConstraintName varchar (200)--删除当前数据表的所有主键约束--声明读取数据表所有主键约束名称游标mycursor2
declare mycursor2 cursor for select name from dbo.sysobjects where Xtype = "PK" and Parent_Obj = (select [ID] from dbo.sysobjects where id = object_id(N"["+@TableName+"]") and OBJECTPROPERTY(id, N"IsUserTable") = 1)
--打开游标
open mycursor2
--从游标里取出数据赋值到主键约束名称变量中
fetch next from mycursor2 into @ConstraintName
--如果游标执行成功
while (@@fetch_status=0)
begin
--删除当前找到的主键
exec ("ALTER TABLE ["+@TableName+"] DROP CONSTRAINT ["+@ConstraintName+"]")
--print "ALTER TABLE ["+@TableName+"] DROP CONSTRAINT ["+@ConstraintName+"]"
--用游标去取下一条记录
fetch next from mycursor2 into @ConstraintName
end--关闭游标
close mycursor2
--撤销游标
deallocate mycursor2 --用游标去取下一条记录
fetch next from mycursor1 into @TableName
end--关闭游标
close mycursor1
--撤销游标
deallocate mycursor1--查询删除后的当前数据库所有约束
select * from information_schema.key_column_usageSQL创建数据库中所有用户数据表自增一主键SQL删除数据库中所有用户数据表外键相关资讯 SQL语句
- 如何定位SQL语句在共享池里用到了 (03月17日)
- Java 注解入门 自动生成SQL语句 (07/28/2015 16:08:34)
- Oracle 通过sql profile为sql语句 (05/03/2015 19:43:07)
| - MySQL 存储过程动态执行sql语句 (10/13/2015 19:10:08)
- 画图解释 SQL join 语句 (07/17/2015 15:16:27)
- MySQL数据库sql语句调优 (03/21/2015 17:42:45)
|
本文评论 查看全部评论 (0)