Select s.* from sysobjects as s
 inner join sysforeignkeys as g
 on s.id=g.constid

解决方案 »

  1.   

    select name from sysobjects where id in (
    select id from sysconstraints)
      

  2.   

    错了,应该是这一个
    select name,xtype,type from sysobjects where id in (
    select constid from sysconstraints)
      

  3.   

    选择出来的D是什么意思,F是外键,K是主键
      

  4.   

    这个比较好select a.id as tb_id,b.name as tb_name,a.constid as const_id,c.name as const_name
    from sysconstraints a inner join (select id,name from sysobjects)b
       on a.id=b.id
      inner join (select id,name from sysobjects) c
       on a.constid=c.id
      

  5.   

    select a.id as tb_id,b.name as tb_name,a.constid as const_id,c.name as const_name,c.xtype 
    from sysconstraints a inner join (select id,name from sysobjects)b
       on a.id=b.id
      inner join (select id,name,xtype from sysobjects) c
       on a.constid=c.id
    where c.name='pk_report'
      

  6.   

    xtype说明C = CHECK 约束
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束
    L = 日志
    FN = 标量函数
    IF = 内嵌表函数
    P = 存储过程
    PK = PRIMARY KEY 约束(类型是 K)
    RF = 复制筛选存储过程
    S = 系统表
    TF = 表函数
    TR = 触发器
    U = 用户表
    UQ = UNIQUE 约束(类型是 K)
    V = 视图
    X = 扩展存储过程
      

  7.   

    如果是CHECK 约束, 我怎样获取更细了, ckeck约束作用在在哪一列?
      

  8.   

    看看sysconstraints系统表,一切都在里面。
      

  9.   

    --默认值或 DEFAULT 约束
    SELECT NAME FROM SYSOBJECTS WHERE XTYPE='D'
    --UNIQUE 约束
    SELECT NAME FROM SYSOBJECTS WHERE XTYPE='UQ'--FOREIGN KEY 约束
    SELECT NAME FROM SYSOBJECTS WHERE TYPE='F'--PRIMARY KEY 约束
    SELECT NAME FROM SYSOBJECTS WHERE XTYPE='PK'
    --CHECK约束
    SELECT NAME FROM SYSOBJECTS WHERE XTYPE='C'