求一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...