【发布时间】:2017-02-16 21:04:11
【问题描述】:
我想通过数据包含“ABC”的列架构进行搜索。在 Oracle PL/SQL 中,我会这样做:
DECLARE
v_cnt integer;
BEGIN
for i in (select tabname, colname
from all_tab_cols --syscat.columns
where tabschema = 'DATA'
order by tabname, colname)
loop
execute immediate '
select count(1)
from '||i.tabname||'
where upper('||i.colname||') like ''%ABC%''' into v_cnt;
if v_cnt > 0 then
dbms_output.put_line(i.tabname||' - '||i.colname)
end if;
end loop;
END;
但是它位于 DB2 数据库中。我已尝试在线搜索正确的语法,但找不到。 syscat.columns 是 all_tab_cols 的 oracle 等价物,因此我只需要 DB2 中匿名 SQL 块的正确语法。
有人能帮我看看语法吗?
【问题讨论】:
-
什么 DB2 版本和平台?
-
版本为 DB2 v10.5.0.5
-
@Fermin -- DB2 可以在许多不同的平台上运行 -- 您也需要包含这些信息。
标签: sql oracle plsql db2 db2-luw