我有一个需求,我需要找出所有那些有共同列的表。查找所有使用公共列的表的列表
我的要求是类似于下面的例子:
一个学校教师被分配到许多部门的许多任务。每个部门都作为一个表维护。因此,所有部门表都应该有一个可以指向教师Id的列。但是列的名称可能会有所不同。例如:DivA-TeacherId,DivB-TeacherId ....,DivN-TeacherId
另外还有一个名为Teacher的表格,其中包含教师的详细信息。
表老师 - 列TeacherId(主键)
老师搬出学校和新老师代替他,并采取了老教师的相同的角色和责任。 所以在这里,我们需要更新所有依赖表与新老师。
我们可能有100个表格。所以很难找到所有这些表手动。
是否有查询,我们可以找到所有依赖此列的表,以便可以使用新的TeacherId更新这些表(请注意,此列的命名可能在所有依赖项中都不相同tables.bs所有这些列名可能有一个共同的子字符串“TeacherId”)
请建议是否有任何查询可以用来找出解决方案上面的一个。
'依赖',你的意思是所有其他表都有一个外键约束,从他们的个人命名列到主'teacherId'列? (为什么分部分成100个表格?) – 2014-10-28 10:05:46
为什么不使用参照完整性s.t. '...更新级联“或/和'...关于删除限制'的公钥和外键,让Oracle维护数据? – 2014-10-28 10:05:50
如果我没有错,在DB中找到所有表中发生的事件(“TeacherId”)列表将成为你的依赖表。在Oracle中使用系统表。 – knkarthick24 2014-10-28 10:05:56