`
xqf222
  • 浏览: 128887 次
  • 性别: 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数据库实验指导书 实验教程 数据库实验02 通过SQL语句创建与管理数据表.pdf

    本实验主要围绕SQL Server 2005数据库的管理和操作展开,目的是让学生掌握数据库的创建、修改、查看、删除等基本操作,以及SQL Server Management Studio的使用。实验内容包括安装SQL Server 2005、启动和配置服务、...

    删除数据库的所有表、存储过程、主键、外键、索引等

    这个过程通常涉及删除数据库中的所有表、存储过程、主键、外键以及索引等对象。下面我们将详细探讨这些概念及其在数据库中的作用,以及如何安全有效地执行删除操作。 首先,让我们逐一了解这些数据库元素: 1. 表...

    自动删除所有表,有外键约束的表优先删除

    标题"自动删除所有表,有外键约束的表优先删除"涉及到的是一个数据库操作的场景,通常需要谨慎处理,因为错误的操作可能导致数据丢失或破坏数据库结构。在这个问题中,我们关注的是如何在有外键约束的环境中安全地...

    SQL Server数据库中关联数据表的设计方法探讨.pdf

    本知识点将探讨在SQL Server数据库中如何设计关联数据表以确保数据的一致性和完整性。 首先,数据库设计不仅仅是单个数据表的设计,更多的是设计多个表之间的关联关系。关联关系指的是表与表之间通过某些共同的字段...

    sql外键的建立文档

    在SQL数据库设计中,外键(Foreign Key)是实现数据完整性和引用完整性的关键机制,它使得不同表之间的数据能够建立关联,确保了数据的一致性。本文将深入讲解如何在SQL Server中建立外键,以及如何使用不同的方法...

    sql server 数据库文件——图书订购

    在SQL Server中,数据库文件是存储数据和元数据的核心组件,它们构成了数据库的基础。本案例提供的"图书订购"数据库文件包含两个主要部分:mdf(主数据文件)和ldf(日志文件)。这两个文件是SQL Server数据库不可或...

    SQLServer数据库实验指导书

    实验者需要在企业管理控制台和命令行中创建多个表,包括学生表、班级表、系部表和课程表,并设置相应的约束和外键。此外,还需理解索引的作用,尽管在这一实验中并未具体操作索引。 综上所述,这份SQLServer数据库...

    oracle 数据库 scott.sql 范例表

    这个文件是一个SQL脚本,包含创建SCOTT用户表的DDL(数据定义语言)语句和可能的数据插入语句(DML)。运行这个脚本将创建"SCOTT"用户的所有对象,包括表、索引、权限等,并填充示例数据。在实际环境中,我们通常...

    mysql数据库触发器,外键约束模式知识点

    在MySQL数据库中,外键约束是一种确保数据完整性的方法,它通过定义表间关系来维护数据的一致性。 ##### 1.1 增加外键 外键可以在创建表时或之后添加。其语法如下: ```sql ALTER TABLE 表名 ADD [CONSTRAINT 外键...

    SQL数据库编辑器

    这种编辑器通常具有丰富的功能,包括查询构建、数据编辑、表设计、索引管理、用户权限控制以及数据库备份和恢复等。通过使用这样的工具,用户可以无需依赖特定数据库系统的命令行界面,而是通过图形化用户界面(GUI...

    SQL.zip_sql 表级约束_sql创建表_sql数据表_删除数据库

    本篇将重点介绍SQL中的表级约束、如何创建和操作SQL数据表,以及数据库的删除与恢复。 一、SQL表级约束 表级约束是确保数据完整性的一种机制,它定义在表的结构(即列)上,限制了可以插入或更新的数据类型和范围。...

    根据SQLServer数据表生成C#实体类。生成数据库模型.zip

    1. 数据库设计:首先需要在SQLServer中设计好数据库表,包括表名、字段名、数据类型、主键、外键等信息。 2. 生成C#实体类:使用提供的工具或源码,通过连接到SQLServer数据库,读取表结构信息,自动生成C#类。这些...

    数据库大作业程序_sql_数据库_

    在本系统中,SQL将被用于创建和操作数据库,包括定义数据表结构、插入和更新数据以及执行复杂的查询来获取发电量信息。 数据库设计是该项目的核心部分。在设计阶段,我们需要考虑以下几个关键点: 1. **概念模型**...

    数据库技术与应用 设置学生表外键约束-A学习任务书.doc

    在数据库技术中,外键约束是关系数据库设计中不可或缺的一部分,它主要用于确保数据的一致性和完整性。本学习任务书将重点讲解如何在学生表中设置外键约束,以实现不同表之间的关联,这对于电子信息工程技术专业的...

    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外键约束

    在SQL(结构化查询语言)中,外键约束是一种重要的关系数据库完整性机制,它用于确保数据的一致性和准确性。外键约束是两个表之间的一种关联,一个表中的外键引用了另一个表的主键,从而建立了两个表之间的联系。...

    如何在MySQL数据库中定义外键

    - **SET NULL**:将参照表中的外键字段设置为 NULL,如果主表中的对应字段被删除或更新。 综上所述,通过以上步骤,我们不仅可以在 MySQL 数据库中成功定义外键,还可以根据业务需求选择合适的级联操作来进一步增强...

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

    外键约束是关系数据库中确保数据完整性和一致性的重要机制,它不允许在父表(引用其他表的字段的表)中删除那些已被子表引用的行。然而,有时候在开发或测试环境中,我们可能需要快速地删除所有表并重建数据库结构,...

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

    在本实验中,我们将深入探讨如何在SQL Server 2000环境中创建、修改和管理数据表,同时关注数据完整性的实现。实验的目标是让你熟悉基本的SQL操作,特别是使用CREATE TABLE、ALTER TABLE和DROP TABLE语句。这些是...

    SQL SERVER数据库系统中的数据完整性研究.pdf

    总之,SQL Server数据库系统中数据完整性是通过一系列规则和约束来确保的,它涉及数据库设计和操作的多个层面。通过在数据库设计阶段准确地定义和实施完整性规则,可以在数据库操作过程中有效防止数据错误和不一致的...

Global site tag (gtag.js) - Google Analytics