多数据库结构,如何判读引用问题

bingxuehuiren 2018-02-05 11:21:47
我们公司的数库是按业务线建立的,就是不同的业务线数据库不一样。我现在需要判断某一些数据是否被引用,这种跨数据库时如何判断
...全文
902 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingxuehuiren 2018-02-06
  • 打赏
  • 举报
回复
引用 7 楼 zjcxc 的回复:
在同一个库你是设置了主外键约束吧? 跨勯库你可以用删除触发器
这个是不是也要预先知道是哪些表才行,而不是自动遍历所有数据库的所有表?
zjcxc 2018-02-05
  • 打赏
  • 举报
回复
引用的判断方法是什么?是数据库有没有被访问么? 如果是,可以用 profile , 数据库审核之类来监控
zjcxc 2018-02-05
  • 打赏
  • 举报
回复
在同一个库你是设置了主外键约束吧? 跨勯库你可以用删除触发器
bingxuehuiren 2018-02-05
  • 打赏
  • 举报
回复
我只是举了 个例子,我的客户主数据不可能只被一个表引用,可能是N个表。而且根据业务需求可能还会有新增的表,我不可能新增一个表就改程序。我需要一个一劳永逸的方法。谢谢各位大神。原来在同一个数据库的话,数据库本身有这个功能,一旦数据被引用就不能删除的。但是跨数据库我就不知道怎么办了
二月十六 2018-02-05
  • 打赏
  • 举报
回复
引用 3 楼 bingxuehuiren 的回复:
比如我有一个客户主数据放在客户表里,如果只在这个表里存在,那就是没被引用。如果这个客户生成过销售单了,在销售单表里存在了,就叫被引用了。现在的问题是我的客户表跟销售单表不在一个数据库里。
如果这些数据都在一台服务器上就直接跨库链接,如果是在不同的服务器上就用链接服务器等形式实现跨服务器跨库查询
zjcxc 2018-02-05
  • 打赏
  • 举报
回复
跨库查询就可以了嘛,在表名前国库名,类似这样: select * from 用户库..用户表 where 用户id in ( select 用户id from 销售库..销售表)
bingxuehuiren 2018-02-05
  • 打赏
  • 举报
回复
比如我有一个客户主数据放在客户表里,如果只在这个表里存在,那就是没被引用。如果这个客户生成过销售单了,在销售单表里存在了,就叫被引用了。现在的问题是我的客户表跟销售单表不在一个数据库里。
二月十六 2018-02-05
  • 打赏
  • 举报
回复
不夸数据库时怎么判断的?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧