Frage

Ich verwende TOAD meine PL / SQL-Entwicklung zu tun. In TOAD, wenn ich eine Prozedur Namen ein und drücken f4 geben, kann ich diese Prozedur den Quellcode sehen. Ich denke, TOAD den Quellcode von v $ SQLTEXT Ansicht. Um meine Gedanken zu bestätigen, schrieb ich eine Abfrage:

select * from v$sqltext

aber wenn ich die obere Abfrage ausführen, Oracle geben Sie mir eine Fehlermeldung:

  

ORA-00942: Tabelle oder Sicht nicht   existieren   00942. 00000 - „Tabelle oder Sicht ist nicht vorhanden“   * Ursache:
  * Aktion: Fehler in Zeile: 29 Column: 15

So denke ich, TOAD das Verfahren der Quelle von anderen Ort erhalten statt v $ SQLTEXT Ansicht. Wer kann mir darüber erzählen? Großer Dank.

War es hilfreich?

Lösung

Die vollständige Abfrage für eine gespeicherte Prozedur (nicht in einem Paket):

select text
from   all_source
where  owner = 'MYSCHEMA'
and    type = 'PROCEDURE'
and    name = 'MY_PROCEDURE'
order by line;

Wenn Sie sich als Benutzer MYSCHEMA verbunden sind, als Sie USER_SOURCE verwenden können:

select text
from   user_source
where  type = 'PROCEDURE'
and    name = 'MY_PROCEDURE'
order by line;

Andere Werte für TYPE sind:

  • TYPE BODY
  • FUNKTION
  • TRIGGER
  • TYPE
  • JAVA SOURCE
  • PAKET BODY
  • PAKET

Andere Tipps

select * from all_source

Siehe Datenbankverweis für ALL_SOURCE und V $ SQLTEXT .

Wenn Sie wählen priv auf DBA * Tabellen, dann überprüfe heraus select * from dba_source. Diese Tabelle wird die gesamte Quellcode hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top