当前位置: 代码迷 >> PB >> 求通过SQLSERVER数据库的字典表获得主键列,多谢
  详细解决方案

求通过SQLSERVER数据库的字典表获得主键列,多谢

热度:90   发布时间:2016-04-29 08:50:15.0
求通过SQLSERVER数据库的字典表获得主键列,谢谢!
求一SQL:在sqlserver数据库中,通过表名查询出主键列,好像需要syscolumns,SysObjects,sysconstraints字典表,谁能帮忙写一个,谢谢!

------解决方案--------------------
SQL code
--查询表的主键的方法select  from sysobjects where xtype='PK' and name in (SELECT name FROM sysindexes  WHERE id = object_id('mykind')) )EXEC sp_pkeys @table_name='mykind'SELECT TABLE_NAME,       COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='mykind'EXEC sp_primarykeys @table_server='LANDSEA-8CC1455SQLEXPRESS',@table_name='mykind'SELECT  from sys.key_constraints where parent_object_id=object_id('mykind') and type='PK'SELECT A.NAME AS 表名,B.NAME AS 主键名 FROM  SYSOBJECTS A    JOIN SYSOBJECTS B        ON A.ID=B.PARENT_OBJ        AND A.XTYPE='U' AND B.XTYPE='PK'
------解决方案--------------------
SQL code
--SQL SERVER 2000中各表外键名,主键名的获取SELECT   外键表ID   = b.fkeyid ,  外键表名称 = object_name(b.fkeyid) ,  外键列ID   = b.fkey ,  外键列名   = (SELECT name FROM syscolumns WHERE colid = b.fkey AND id = b.fkeyid) ,  主键表ID   = b.rkeyid ,  主键表名   = object_name(b.rkeyid) ,  主键列ID   = b.rkey ,  主键列名   = (SELECT name FROM syscolumns WHERE colid = b.rkey AND id = b.rkeyid) ,  级联更新   = 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 where a.xtype = 'f' AND c.xtype = 'U' /*--以下为查询SQL SERVER 2000中自带库PUBS的结果外键表ID   外键表名称   外键列ID  外键列名   主键表ID    主键表名    主键列ID 主键列名  级联更新 级联删除 ---------- ------------ --------- ---------  ----------- ----------- -------- --------- -------- ---------2121058592 titles       4         pub_id     2057058364  publishers  1        pub_id    0        053575229   titleauthor  1         au_id      1977058079  authors     1        au_id     0        053575229   titleauthor  2         title_id   2121058592  titles      1        title_id  0        0149575571  sales        1         stor_id    117575457   stores      1        stor_id   0        0149575571  sales        6         title_id   2121058592  titles      1        title_id  0        0213575799  roysched     1         title_id   2121058592  titles      1        title_id  0        0245575913  discounts    2         stor_id    117575457   stores      1        stor_id   0        0357576312  pub_info     1         pub_id     2057058364  publishers  1        pub_id    0        0405576483  employee     5         job_id     277576027   jobs        1        job_id    0        0405576483  employee     7         pub_id     2057058364  publishers  1        pub_id    0        0(所影响的行数为 10 行)*/
------解决方案--------------------
顶!!!!!
------解决方案--------------------
mark...
  相关解决方案