特定の値と数の見出しのそれぞれで、32列の表の行を検索したいと思いますが、oracleの列名をすべて入力しなくても行全体を問い合せることは可能ですか?ORACLEで特定の値を求める行を検索する
答えて
はい、可能ですが、解決策は高速ではなく、xqueryに関する基本知識が必要です。
create table test_objects as select * from user_objects where rownum < 100;
select * from
xmltable('for $row in ora:view("test_objects")/ROW return count($row/*[contains(text(),$TO_SEARCH)])' passing 'N' as "TO_SEARCH" columns cnt number path '.');
クエリ値に "N" を含む列をカウントテストテーブルを作成。
あなたはビットに私たちは列がEMP表でテスト
select * from
xmltable('for $row in ora:view("test_objects")/ROW return <ROW><CNT>{count($row/*[contains(text(),$TO_SEARCH)])}</CNT><COLUMNS>{string-join($row/*[contains(text(),$TO_SEARCH)]/name(),", ")}</COLUMNS></ROW>' passing 'N' as "TO_SEARCH"
columns
cnt number path 'CNT'
, list_of_column varchar2(4000) path 'COLUMNS'
);
これは私が得ようとしていたものです。 –
非常にありがとうArkadiuszŁukasiewicz これは私が得ることを試みたものです。 そして私はxmltableとfamiljarではないので、 "AND USER_ID =(パラメータ)"または他のパラメータのような条件を追加したい場合は可能ですか? –
はい、可能です。 XQuery言語や 'XQuery FLWOR'についてのチュートリアルがあります。 2番目のオプションは通常のSQLと非常によく似ています。 –
- 検索値を含めるかを確認することができ、クエリを変更した場合、(私は推測)のOracle DBのインストールで利用可能であるべきです。
- すべてのフィールドを検索するSQLテキストを作成します。
USER_TAB_COLUMNS
を試していない場合は、テーブルを所有している場合- %のKING%は検索用語です、あなたは
DBA_TAB_COLUMNS
へのアクセス権を持っていると仮定します。 - SQL文字列の制限は4000文字です。あなたが別のスキーマにテーブルを持っている可能性があるため、これらのテーブルの
- OWNERは、異なる可能性が
以下はSQL Plusまたはお好み:)
VARIABLE cur REFCURSOR;
DECLARE
v_chr VARCHAR2(4000);
v_chr_tablename VARCHAR2(30) := 'EMP';
v_chr_searchterm VARCHAR2(100) := 'KING';
BEGIN
SELECT 'SELECT * FROM ' || v_chr_tablename || ' where '
|| RTRIM (XMLAGG (XMLELEMENT (E, 'TO_CHAR('
||column_name
|| ')', ' || ').EXTRACT ('//text()')
ORDER BY column_name).getStringVal(), ' || ')
||' like ''%' || v_chr_searchterm || '%'''
INTO v_chr
FROM DBA_TAB_COLUMNS
WHERE table_name = v_chr_tablename
AND owner = 'APPS';
OPEN :cur FOR v_chr;
END;
/
print cur;
- 1. データベース内の特定の行でgrep検索を実行する
- 2. 特定の文字と表示行のためにbashで検索する行
- 3. パンダで行を検索して特定の値を更新する
- 4. whileループで配列の特定の値を検索する
- 5. セル内で特定の値を検索する
- 6. fuse.jsで特定のIDまたは値を検索する
- 7. 文字列内で特定の値を検索する
- 8. sitecore検索で特定のフォルダを検索する
- 9. 特定の行のテキストを検索
- 10. ファイヤーベースDBを特定の価値のために検索するには?
- 11. JS特定のコードのページソースを検索するためのブックマークレット
- 12. 特定の値の配列を検索する
- 13. データテーブル内の特定の値を検索する
- 14. 特定のデータを検索する[POSTGRES]
- 15. 特定のキーワードを検索するMySQL
- 16. 特定のシートで検索する
- 17. 特定のバッファを検索するためにemacsを複数設定する
- 18. 特定の値のC++検索
- 19. 角度データテーブル - 特定のHTMLクラス値を検索する
- 20. 2列の値を検索するための検索
- 21. 弾性検索:特定の条件の不在を高める
- 22. PowerShell - 特定の行からパターンを検索する
- 23. oracleテーブルのすべてのフィールドで特定の値を検索
- 24. 検索を実行してメンバーを特定する
- 25. Powershellで列名を指定しないで特定の値を見つけるためにCSVファイルを検索
- 26. 検索部と、特定の行
- 27. sqlite.swiftで特定の行のデータベースを検索します。
- 28. 'R'行列の値を検索する
- 29. ディレクトリ内のすべてのノードで特定の値を検索する
- 30. 検索を特定のサブグラフに限定するためのCypherクエリ
ハズレのSQLクライアント上で実行することができます 。しかし、あなたはすべての列のリストを取得し、動的にクエリを作成することができます – are
1列の場合でも、列名を使用せずに値を検索したいですか?あなたは何を探しているのですか? – user7294900
悪いデータモデルのように聞こえます – APC