mysql清空数据库数据包括主键_SQL删除数据库中所有用户数据表主键

--SQL删除数据库中所有用户数据表主键 --查询删除前的当前数据库所有约束select * from information_schema.key_column_usage de

logo.jpg

首页 → 数据库技术

背景:

阅读新闻

SQL删除数据库中所有用户数据表主键

[日期:2012-11-24]

来源:Linux社区

作者:xqf222

[字体:]

--SQL删除数据库中所有用户数据表主键

--查询删除前的当前数据库所有约束

select * from information_schema.key_column_usage

declare @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_usage

logo.gif

0

SQL创建数据库中所有用户数据表自增一主键

SQL删除数据库中所有用户数据表外键

相关资讯

SQL语句

图片资讯

120517090955061t.jpgSQL 内置函数(pivot

本文评论

查看全部评论 (0)

评论声明

最新资讯

本周热门

Linux公社简介 - 广告服务 - 网站地图 - 帮助信息 - 联系我们

本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。

Copyright © 2006-2011 Linux公社 All rights reserved 浙ICP备06018118号

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值