我有一个包含100个字段的表。该表有大约1000条记录。我想知道任何记录中的任何字段是否都包含字符“”。由于存在大量字段(100),我想知道如何形成查询以了解任何记录中的任何字段是否包含字符“”。我不应该使用动态SQL:(
答案 0 :(得分:0)
好的,不使用动态SQL就可以像这样构建所需的静态SQL:
select 'select pk, ''' || column_name
|| ''' col from mytable where '
|| column_name || ' like ''%x%'';'
from user_tab_columns
where table_name = 'MYTABLE';
这将为每列输出一个select语句,然后您可以将其作为SQL Plus脚本运行:
select pk, 'PK' col from mytable where PK like '%x%';
select pk, 'COL2' col from mytable where COL2 like '%x%';
select pk, 'COL3' col from mytable where COL3 like '%x%';