テーブル内のキーワードを検索したいが、どのカラムに属しているのかわからない。次のように私はそのためのクエリのいずれかを持っている:oracleテーブルのすべてのフィールドで特定の値を検索
変数ヴァルVARCHAR2(10) のexec:ヴァル:= 'KING'
PL/SQLプロシージャが正常に完了しました。 "表"
Searchword表の列
KING EMP ENAME
BY、SUBSTR (table_name, 1, 14) "Table",
SUBSTR (column_name, 1, 14) "Column" FROM cols,
TABLE (xmlsequence (dbms_xmlgen.getxmltype ('select '
|| column_name
|| ' from '
|| table_name
|| ' where upper('
|| column_name
|| ') like upper(''%'
|| :val
|| '%'')').extract ('ROWSET/ROW/*'))) t
ORDER "をSearchword":(ヴァル、1、11)
DISTINCT SUBSTRを選択
しかし、適切な出力が得られません。出力は次のようになっています。 PL/SQLプロシージャが正常に完了しました。私は試しましたが、満足のいく回答は得られませんでした。誰も助けてください..?私は、このような範囲のために書くことができます
あなたが言ったことは正しいアプローチですが、私は290列340列150列などを持つテーブルで作業していますので、数値列はテーブルごとに異なるため、各クエリに列数を指定するのは難しいでしょう。 .so .. – Aniket
答えを – Carlo
助けてくれてありがとうございます。うまくいかず、エラーが発生しています: ORA-01489:文字列連結の結果が長すぎます 01489. 00000 - "文字列連結の結果もありますlong " *原因:文字列連結結果が最大サイズを超えています。 *処置:結果が最大サイズ未満であることを確認してください。 – Aniket