`
xqf222
  • 浏览: 119123 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

 
阅读更多

--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

分享到:
评论

相关推荐

    SQL Server数据库实验_创建和修改数据表及数据完整性.doc

    在企业管理器中实现表的创建和修改等工作及使用T—SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE来实现数据表的创建、修改及删除。 三、实验设备 安装有SQL SERVER 2000的计算机。 四、实验内容 示例是某公司的...

    SQL Server分布式分区视图分解数据表

    分布式分区视图可以将来自一个或多个SQL Server数据库中的数据连接起来。当开发一个水平分区数据库环境时,你可以使用分布式分区视图将来自不同服务器的分区表连接起来,使得这些数据看起来像来自同一个服务器。 你...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程.txt

    10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件...

    实验1答案 - 建立学生数据库.sql

    将“学生数据库数据.xls”中的数据导入到学生数据库的三张表中。 将“银行贷款数据.xls”中的数据导入到银行贷款数据库的三张表中。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、...

    SQL Server数据库企业应用系统开发

    1 在用户表中创建触发器 7. 2. 2 在商家表中创建触发器 7. 2. 3 在商品信息表中创建触发器 7. 2. 4 在商品类型表中创建触发器 7. 2. 5 在购物筐表中创建触发器 7. 3 本章小结 第3部分 创建...

    ASP与SQL网页数据库程序设计

    3 创建表主键 150 6-3-4 使用CREATE TABLE指令创建表 152 6-4 表索引的管理 154 6-4-1 表设计工具属性页 154 6-4-2 利用表设计工具属性创建索引 156 6-4-3 使用向导创建索引 158 6-4-4 利用...

    数据库基本----SQL语句大全

    SQL(Structured Query Language)是数据库管理系统的标准语言,用于存储、修改和检索数据库中的数据。以下是数据库基本操作的SQL语句大全: 一、创建数据库 Create DATABASE database-name 创建数据库是 ...

    SQLServer数据库设计规范.txt

    命名都采用英文字符,每个单词的首个字母要大写 2.7 SQL语句的编写规范 数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下: 关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如...

    sql学生成绩管理系统课程设计数据库.doc

    sql学生成绩管理系统课程设计数据库 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 目 录 CHAP 1 需求分析 ...

    常用SQL 语句大全

    9:获取当前数据库中的所有用户表 10:获取某一个表的所有字段 11:查看与某一个表相关的视图、存储过程、函数 12:查看当前数据库中所有存储过程 13:查询用户创建的所有数据库 14:查询某一个表的字段和数据...

    SQL课内上机实验数据定义

    熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。 1.2 实验内容  用企业管理器创建数据库University_Mis  使用CREATE语句创建基本表。  更改基本表的定义: 增加列,删除列...

    SQLite 数据库的管理工具

    数据表管理:用户可以在 SQLiteAdmin 中创建新的数据表,定义表结构和字段类型,以及设置主键和约束。此外,也可以删除和修改现有的数据表。 数据操作:SQLiteAdmin 支持插入、更新和删除数据,用户可以通过表单或...

    经典Sql语句 数据库

    DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明...

    Oracle数据库、SQL

    1.1表是数据库中存储数据的基本单位 1 1.2数据库标准语言 1 1.3数据库(DB) 1 1.4数据库种类 1 1.5数据库中如何定义表 1 1.6 create database dbname的含义 1 1.7安装DBMS 1 1.8宏观上是数据-->database 1 1.9远程...

    SQLServer数据库设计.pdf

    SQLServer数据库设计 数据库设计 ⼀、数据库设计的必要性 在实际的软件项⽬中,如果系统中需要存储的数据量⽐较⼤,需要设计的表⽐较多,表与表之间的关系⽐较复杂,那我们就需要进⾏规 范的数据库设置。如果不经过...

    小议sqlserver数据库主键选取策略

    因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键...

    数据库应用技术实验01答案

    实验中要求学生使用SQL语句创建、修改和删除数据库,指定数据库文件的大小、最大大小和增长速度等参数。例如,创建数据库Employee的SQL语句如下: Create Database EmployeeOn Primary ( Name = Empdat1, ...

    详解C#批量插入数据到Sqlserver中的四种方式

    先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引。GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记录的ID的值...

    SQL Server 2014基础入门视频教程 (40集,含课件)

    10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件...

Global site tag (gtag.js) - Google Analytics