我有一個需求,我需要找出所有那些有共同列的表。查找所有使用公共列的表的列表
我的要求是類似於下面的例子:
一個學校教師被分配到許多部門的許多任務。每個部門都作爲一個表維護。因此,所有部門表都應該有一個可以指向教師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