`
xqf222
  • 浏览: 119131 次
  • 性别: 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 = 'F' 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的计算机。 四、实验内容 示例是某公司的...

    MySQL删除表的时候忽略外键约束的简单实现

    但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情;另外在测试的时候,也有需要重新创建数据库的所有表。当然很多自动化工具也可以做这样的事情。 删除表的时候...

    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条件...

    Oracle批量执行sql语句之禁用所有表的外键

    在转移数据库,进行数据导入的时候,遇到一件麻烦事,就是表间外键约束的存在,导致insert频频报错,批量执行sql语句又是顺序执行,没办法我只好手动输入。 然后输入到一半灵光一闪,为什么不先把外键约束全部禁用先...

    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条件...

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

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

    SQLServer数据库设计规范.txt

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

    SQL编程思想:基于5种主流数据库代码实现.docx

    DML 用于在数据库表中插入、更新、删除和查询数据。DCL 用于控制数据库的安全性。 6. SQL 语言的数据类型 SQL 语言的数据类型包括标量类型和复合类型。标量类型包括整数类型、浮点类型、字符类型和布尔类型等。...

    SQLserver数据库管理系统需求分析.doc

    SQLserver简介及知识介绍 三、数据库管理系统知识 四、需求分析—成绩管理 一、概述 成绩管理系统可以实现对成绩的管理,在此系统里可以查询、添加、删除学生的成绩, 方便用户的管理。学生成绩管理系统是应对学生...

    数据库SQL语句讲解.pptx

    Page 4/31 学习目标 了解使用SQL Server中的逻辑表达式、函数和运算符 掌握向表中插入数据 掌握更新表中的数据 掌握删除表中的数据 理解查询的机制 掌握使用SELECT语句进行基本查询 掌握多表联合查询 掌握子

    《数据库原理及应用》实验指导.doc

    本实验指导旨在帮助学生熟悉 SQL Server 上机环境、掌握数据定义语言(DDL)和数据操纵语言(DML)的使用,建立、修改和删除数据库表、主键、外键约束关系和索引。通过实验,学生将熟悉 SQL Server 的基本操作和...

    SQLServer数据库设计.pdf

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

    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条件...

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

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

    SQL课内上机实验数据定义

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

    Microsoft_SQL_Server系统表详细说明

    Microsoft SQL Server 系统表是指数据库管理系统中的一组特殊的表,这些表用于存储数据库的元数据,提供了关于数据库对象、配置选项、用户和安全信息的重要信息。本文将详细介绍 Microsoft SQL Server 系统表的结构...

    数据库完整性实验-完整代码.rar

    (5)删除student表中的一条数据(其中学号出现在score表中),验证参照完整性约束。 (6)增加score表的约束条件,要求成绩在0-100之间。增加student表的约束条件,要求性别只允许取“男”或“女”。 (7)创建一个...

    SQL数据库管理系统-A.docx

    A、建立 B、修改 C、删除 D、查询 7、在SQL中,alter table为( )数据库中基本表结构的命令。 A、建立 B、修改 C、删除 D、查询 8、Microsoft公司的SQLServer2000数据库管理系统一般只能运行于( )。 A、Windows平台 ...

    实验二 使用SQL语言进行建表和修改表结构.doc

    在本实验中,我们将学习如何使用 SQL 语言创建数据库、设计表结构、输入数据、修改表结构和删除表结构等操作。 一、实验目的 (1)认识几种常见的数据库管理系统,熟悉它们的使用界面; (2)熟练掌握建立数据库和...

    c# sqlserver数据库自动更新 应用程序

    按照最新的 数据库 更新其他目标数据库,包括新增表,新增字段,修改字段类型,删除约束、主外键,两个参数分别是最新数据库名和目标数据库名

Global site tag (gtag.js) - Google Analytics