我有一个要求我需要你的帮助。
表格中的行数:130
这是我拥有的唯一数据。基于此,是否可以从Oracle数据库中找到包含130行的表名。
由于 萨姆
答案 0 :(得分:1)
select c,lpad(to_hex(ascii(c)),4,'0') from (
select regexp_split_to_table(column_name::text,'') as c
from information_schema.columns
where table_schema='public'
and table_name='two'
) as g;
c | lpad
---+------
f | 0066
i | 0069
r | 0072
s | 0073
t | 0074
+| 000a
|
s | 0073
e | 0065
c | 0063
o | 006f
n | 006e
d | 0064
答案 1 :(得分:0)
您可以尝试使用一些动态SQL:
declare
n number;
begin
for t in (
select owner || '.' || table_name as tab
from dba_tables
where owner = 'YOUR_SCHEMA' /* IF YOU KNOW THE SCHEMA */
)
loop
execute immediate 'select count(1) from ' || t.tab into n;
if n = 130 then
dbms_output.put_line('Table ' || t.tab );
end if;
end loop;
end;
请注意,根据数据库中的表/记录数量,这可能需要很长时间才能运行。
答案 2 :(得分:0)
我希望此查询可以为您提供帮助:
查询1: SELECT CONCAT('SELECT COUNT(*)as cnt FROM',table_name,'union all')FROM information_schema.tables WHERE table_schema ='aes';
查询2:选择max(考勤)从(粘贴从上述查询中获得的结果并删除最后一个联合所有)作为tmptable;
<强>参考:强> Find Table with maximum number of rows in a database in mysql