zoukankan      html  css  js  c++  java
  • 查询与删除MSSQL中所有外键约束

    查询:

    SELECT 主键列ID=b.rkey 
        ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) 
        ,外键表ID=b.fkeyid 
        ,外键表名称=object_name(b.fkeyid) 
        ,外键列ID=b.fkey 
        ,外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) 
        ,级联更新=ObjectProperty(a.id,'CnstIsUpdateCascade') 
        ,级联删除=ObjectProperty(a.id,'CnstIsDeleteCascade') 
    FROM sysobjects a 
        join sysforeignkeys b on a.id=b.constid 
        join sysobjects c on a.parent_obj=c.id 

    删除:

        declare @sql varchar(max),
     @tab_name varchar(128),
     @fk_name varchar(128);
    declare c cursor for
    select OBJECT_NAME(parent_object_id), name from sys.objects where type='F'
    
    open c
    fetch next from c into @tab_name, @fk_name 
    while @@FETCH_STATUS=0
    begin 
     set @sql='';
     set @sql='alter table ' + @tab_name + ' drop constraint ' + @fk_name
     print @sql
     exec(@sql)
     
     fetch next from c into @tab_name, @fk_name
    end
    close c
    deallocate c

    使用方法:

    打开数据库,转到要操作的那一个库,执行上面的代码即可

  • 相关阅读:
    maven将依赖依赖打包到jar中
    Python模块之信号(signal)
    mog使用指南
    Docker 入门
    注册码
    区块链Readme.md
    彻底卸载 postgreSQL .etc
    Django
    111
    pip 安装 lxml等 出错 解决
  • 原文地址:https://www.cnblogs.com/qiywtc/p/6963554.html
Copyright © 2011-2022 走看看