gpt4 book ai didi

php - 如何在匹配条件时显示数据库中的表名称

转载 作者:行者123 更新时间:2023-11-29 13:50:39 24 4
gpt4 key购买 nike

我的表结构为:

 tabble_name_temp1


col_up col_down

akash kavita

kavita aruhi

aruhi Akash



tabble_name_temp2


col_up col_down

akash kavita

kavita simran

jyoti Akash


tabble_name_temp3


col_up col_down

akash kavita

kavita simran

jyoti Akash

我想选择具有

的表名称

值例如:如果我输入

        akash and simran

那么这应该显示为

       tabble_name_temp2

tabble_name_temp3

提前致谢!

最佳答案

Oracle 有 all_objectsall_tab_columns 表,用于存储表/列相关数据。您可以从这些表中进行选择,然后形成动态查询来检查这些表中是否存在给定的数据。这是单个输入的示例代码。如果有多个输入,您将必须重复此操作多次。

DECLARE
l_chr_query VARCHAR2 (2000);
l_num_count NUMBER (1);
BEGIN
FOR i IN (SELECT table_name, column_name
FROM all_tab_columns
WHERE table_name IN (
SELECT object_name
FROM all_objects
WHERE object_name LIKE 'SA_%' AND object_type = 'TABLE')
AND data_type = 'VARCHAR2') --modify the where clause as per your needs
LOOP
l_num_count := 0;
l_chr_query :=
'select count(1) from ' || i.table_name || ' where ' || i.column_name
|| ' = ''akash'' and rownum = 1';

--execute the query
EXECUTE IMMEDIATE l_chr_query INTO l_num_count;

IF l_num_count > 0
THEN
DBMS_OUTPUT.put_line (i.table_name);
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;

找到表后,您可以将其保存在数组中,并在同一表但不同列的下一次迭代中跳过检查同一表。

关于php - 如何在匹配条件时显示数据库中的表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16728063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com