zoukankan      html  css  js  c++  java
  • 单表的列信息(序号)操作

    --use wangkejidatabase

    use demodtcms

    SELECT a.colid,* from syscolumns a inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name ='gggggggggg' left join syscomments e on a.cdefault=e.id --WHERE a.name='asda11'

    use wangkejidatabase

    SELECT a.colid,* from syscolumns a inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name ='gggggggggg' left join syscomments e on a.cdefault=e.id --WHERE a.name='asda11'

    use demodtcms
    select * from sysobjects where type='F' and parent_obj = OBJECT_ID('test')

    use wangkejidatabase
    --外键信息
    select fk.name fkname , ftable.name ftablename, cn.name fkcol, rtable.name ftablename,ObjectProperty(fk.id,'CnstIsUpdateCascade') updatCase,ObjectProperty(fk.id,'CnstIsDeleteCascade') deletCase from sysforeignkeys
    join sysobjects fk
    on sysforeignkeys.constid = fk.id
    join sysobjects ftable
    on sysforeignkeys.fkeyid = ftable.id
    join sysobjects rtable
    on sysforeignkeys.rkeyid = rtable.id
    join syscolumns cn
    on sysforeignkeys.fkeyid = cn.id and sysforeignkeys.fkey = cn.colid

    --外键被参考表
    SELECT 主键列ID=b.rkey
    ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid)
    ,外键表ID=b.fkeyid
    ,外键表名称=object_name(b.fkeyid)
    ,外键名称= c.name
    ,外键列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
    join syscolumns cn
    on b.fkeyid = cn.id and b.fkey = cn.colid
    where a.xtype='f' AND c.xtype='U'
    and object_name(b.rkeyid)='dt_article'


    DECLARE @dbname1 varchar(250)--要比较的数据库名1
    DECLARE @dbname2 varchar(250) --要比较的数据库名2

    set @dbname1='demodtcms'
    set @dbname2='wangkejidatabase'

    create table #fk1(外键名 varchar(250),子表名 varchar(250),子表列 varchar(250),被参考表 varchar(250),被参考列 varchar(250),启用 bit,
    删除操作 varchar(50),更新操作 varchar(50))

    --use demodtcms
    --外键详细信息
    insert into #fk1 SELECT
    外键名=f.name --AS foreign_key_name
    ,子表名=OBJECT_NAME(f.parent_object_id) --AS table_name
    ,子表列=COL_NAME(fc.parent_object_id, fc.parent_column_id) --AS constraint_column_name
    ,被参考表=OBJECT_NAME (f.referenced_object_id) ---AS referenced_object
    ,被参考列=COL_NAME(fc.referenced_object_id, fc.referenced_column_id) --AS referenced_column_name
    ,启用=is_disabled
    ,删除操作=delete_referential_action_desc
    ,更新操作=update_referential_action_desc
    FROM sys.foreign_keys AS f
    INNER JOIN sys.foreign_key_columns AS fc
    ON f.object_id = fc.constraint_object_id
    WHERE f.parent_object_id in (SELECT id from sysobjects WHERE xtype='U') ORDER BY f.name
    --= OBJECT_ID(''test'')

    SELECT * FROM #fk1

  • 相关阅读:
    openstack配置增加节点
    OpenStack基本应用
    OpenStack
    zabbix(客户端自动发现,自动添加)
    zabbix 邮件报警(以网易邮箱为例)
    数据库原理
    网页设计与制作
    质量管理与质量保证
    比较行政学【0717】
    企业管理学[9053]
  • 原文地址:https://www.cnblogs.com/guanshan/p/guan20141119-2.html
Copyright © 2011-2022 走看看