0
我必須編寫查詢以查找具有特定值的數據庫中的所有表格。我想知道值的存在位置。我有一個包含4000個表的數據庫。所以我想通過查找值找到特定的表。我有價值觀......但不知道表名。是否有可能?如何編寫查詢以查找具有特定數據的數據庫中的所有表格
感謝你
我必須編寫查詢以查找具有特定值的數據庫中的所有表格。我想知道值的存在位置。我有一個包含4000個表的數據庫。所以我想通過查找值找到特定的表。我有價值觀......但不知道表名。是否有可能?如何編寫查詢以查找具有特定數據的數據庫中的所有表格
感謝你
您可以創建數據的內容插入到該表的表的表和名稱。
創建一個表:
create table My_table (table_name varchar2(50), column_name varchar2(50));
以下查詢插入表名到MY_TABLE它們全有你的數據:
declare
l_cnt varchar2(20);
Query_str varchar2(100);
begin
FOR i IN (SELECT o.object_Name, OBJECT_TYPE
FROM user_objects o
WHERE o.OBJECT_TYPE = 'TABLE') LOOP
for j in (SELECT column_name
FROM all_tab_cols
WHERE table_name = i.object_name) loop
Query_str := 'select count(*) from ' || i.object_name ||
' where to_char(' || j.column_name || ') = ''[Your_data]''';
execute immediate Query_str
into l_cnt;
if l_cnt > 0 then
insert into my_table
(table_name, column_name)
values
(i.object_name, j.column_name);
end if;
end loop;
end loop;
end;
後,如果任何表中有你的數據,MY_TABLE顯示他們
我希望能幫助你。
我現在編輯查詢,請測試它 –
您是否知道存儲值的表的column_name? – Praveen