web-dev-qa-db-ja.com

Oracleストアドプロシージャ内のテキストの検索

TOADを使用して、Oracleデータベース内のすべてのストアドプロシージャを検索する必要があります。開発者が次のID番号を取得するために、シーケンスでNEXTVALの代わりにMAX + 1を使用した場所を探しています。

私は何年もSQL Serverをやっており、そこでSQL Serverを実行するいくつかの方法を知っていますが、ここで私を助けてくれるものはありません。

私は使ってみました

SELECT * FROM user_source
WHERE UPPER(text) LIKE '%blah%'

結果が返されますが、検索する必要があるスキーマではなく、デフォルトのスキーマのみが返されます。

私も以下を試しましたが、それはただのエラーです

SELECT * FROM SchemaName.user_source
WHERE UPPER(text) LIKE '%blah%'
26
PseudoToad
 SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%'

[〜#〜] edit [〜#〜]追加情報の追加:

 SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%'

違いは、dba_sourceには、保存されているすべてのオブジェクトのテキストが含まれることです。 All_sourceには、クエリを実行するユーザーがアクセスできるすべての保存済みオブジェクトのテキストが含まれます。 Oracle Databaseリファレンス11gリリース2(11.2)

もう1つの違いは、dba_sourceにアクセスできない場合があることです。

65

私は常にUPPER(text)のようなUPPER('%blah%')を使用します

3
Guest1

UPPER(text)を使用する場合、like '%lah%'は常にゼロの結果を返します。つかいます '%LAH%'

2
ANM KABIR