利用存储过程得到某一指定的表与其它的表之间的外键关系SQL Server2000

server|存储过程

--我参照的表名  我的果些字段[5]要参照以下表[1]的某些字段[3]的取值
declare  @id bigint
select  @id=id from sysobjects where name='d_病人资料库'
select a. name N'被参照表名',b.rkey N'被参照列在被参照表中的位置',c.name N'被参照列名',b.fkey N'参照字段在本表中的列位置' ,d.name  N'参照字段名'
from sysforeignkeys b ,sysobjects a,syscolumns c ,(select name,colid from  syscolumns  where id=@ID ) d
where a.id=b.rkeyid and b.fkeyid=@ID  and c.id=a.id and c.colid=b.rkey and d.colid=b.fkey
---我被参的表名  以下的表[1]的某列[2]的取值要求参照我的哪些字段[5]
select  a. name N'参照我的表名',c.name N'列名',b.fkey N'参照字段位置' ,b.rkey N'我被参照字段在表中的位置',d.name N'我被参照的字段名'
 from sysforeignkeys b ,sysobjects a,syscolumns c ,(select name,colid from syscolumns where id=@ID) d
where a.id=b.fkeyid and b.rkeyid=@ID  and c.id=a.id and c.colid=b.fkey and d.colid=b.rkey

时间: 2024-10-07 15:16:16

利用存储过程得到某一指定的表与其它的表之间的外键关系SQL Server2000的相关文章

select-两表有外键关系,但没有外键约束,根据A 表ID 查找B 表

问题描述 两表有外键关系,但没有外键约束,根据A 表ID 查找B 表 Select s.ID as SID,s.NAME as SNAME,d.ID as DID,d.NAME as DNAME,d.SEQ as DSEQ,d.SYSDATE as DSYSDATE,d.ISACTIVES as DISACTIVES From TSPC as s,TSPCDETAIL as d where s.ID=d.SPECID and SID=#{SID},根据id 查找 TSPCDETAIL 可以这样写

shh-hibernat,有一个外键关系的表添加不了数据

问题描述 hibernat,有一个外键关系的表添加不了数据 添加数据的时候,会报错: 2015-02-09 21:47:03 1,,SQL Error: 1452, SQLState: 23000 org.hibernate.util.JDBCExceptionReporterorg.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) 2015-02-09 21:47:03 1,,C

关于C#,Java等数据库框架LazyLoad的在表无外键关系时替代方案问题讨论?

问题描述 对于数据库框架,包括现在的.net中的EF等数据库持久层框架,都提供了LazyLoad的机制,然而这个机制建立在表直接存存在主外键关系才可实现对于现行的市场境况,多数成功项目为了便于扩展,都不建立外键,使得LazyLoad的机制不能使用,那么在没有外键情况下能否实现类似于LazyLoad,在程序逻辑上建立关系,实现LazyLoad呢? 解决方案 解决方案二:按你的话说,"数据库框架,包括现在的.net中的EF等数据库持久层框架"如果不使用LazyLoad机制加载,而是一次性就

在PowerDesigner中设计物理模型1——表和主外键

原文:在PowerDesigner中设计物理模型1--表和主外键 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念模型,然后由概念模型生成物理模型. 设计好逻辑模型,然后由逻辑模型生成物理模型. 使用逆向工程的方法,连接到现有的数据库,由数据库生成物理模型. 物理模型能够直观的反应出当前数据库的结构.在数据库中的表.视图.存储过程等数据库对象都可以在物理模型中进行设计.由于物理模型和数据库的一致性,接下来以数据库对象和物理模型对象的对应来一一介绍: 表 新建物理模型时需要指定

hibernate的关联关系,是否数据库表中有外键没有关系?

问题描述 hibernate的关联关系,是否数据库表中有外键没有关系? hibernate的关联关系,是否数据库表中有外键没有关系?昨天使用了hibernate做了一个多对一的关系,然后在做数据库字段的时候,一开始并没有去建立外键约束,只是把关联字段的信息放了上去,然后CRUD操作都没问题,然后看了一篇帖子,上面看到数据库表中有外键约束,这时候才想起来这个事情,我加了外键以后也没什么问题,再去掉还是没有问题,那么这里是加还是不加外键呢?hibernate自己处理好了吗?有什么区别吗?以后是加好还

实现删除主表数据时, 判断与之关联的外键表是否有数据

问题描述:某个基础信息表,与系统中30多个表存在外键关系,当删除基础数据时,需要判断是否已经被用过,如果用过则更改标志位,如果没有用过则直接删除,如何能很好实现这个处理?最好能够自动适应表的变化 问题解决(SQL Server 2005)-- SQL Server 2005的错误处理容易控制, 因此, SQL Server 2005中可以直接删除, 通过错误处理来确定是否需要更新. -- 示例如下.USE tempdbGO CREATE TABLE m(    id int PRIMARY KE

mybatis-请问一下,我的表和表设置的外键对吗,还有他们的关系

问题描述 请问一下,我的表和表设置的外键对吗,还有他们的关系 mybatis的查询语句怎么写,还有 这两个表的id应该写一样吗,求告解 解决方案 http://www.educity.cn/wenda/424714.html 解决方案二: Oracle数据库中,知道一张表,查询与其有主外键关系的表两个不同用户数据库中的表是否可以建立外键关系 oracle关于数据库主从表.主键.外键的关系----------------------

mysql-请问数据库表中可以在一个表里面有两个关联同一个表的外键吗?

问题描述 请问数据库表中可以在一个表里面有两个关联同一个表的外键吗? 具体是这样的: 我有一个用户表user,一个好友表fans. fans中有三个字段 id,user_id,fans_id,其中user_id和fans_id都是跟user表的id关联的外键,我发现这样会报错. 可是用户跟好友的信息又要与用户表的信息关联,请问各位大神,怎样才不会报错或者有什么好一点的解决办法吗? 解决方案 可以的 FOREIGN KEY (user_id) REFERENCES user(id), FOREIG

各位大虾!怎么读数据库外建关系!和插入表的顺序!(c#)

问题描述 各位大虾!怎么读数据库外建关系!和插入表的顺序!(c#) 解决方案 解决方案二:不是很明白楼主的意思这个要根据数据库中表结构的设计来确定的吧解决方案三:随便给一个连接字符串,就可以遍历库中的表关系,用C#读外键关系,并查找出先插那个表!把查出先插的表打印出来!