Stefan87 Geschrieben 2. März 2010 Teilen Geschrieben 2. März 2010 Hi erstmal, ich habe hier ein kleines Problem was vielleicht echt einfach ist. Ich habe eine PL/SQL Function die mir einen SELECT erstellt und liefert z.B. CREATE OR REPLACE FUNCTION TEST ( TT varchar2) RETURN varchar2 IS Begin int_sqlstring := 'SELECT * FROM TEST'; RETURN int_sqlstring; END TEST ; Jetzt möchte ich wissen wie der SQL aussieht der diesen SELECT ausführt. Versucht habe ich es schon mit einem Execute, allerdings funktioniert der nicht bei Funktionen.... Hoffentlich das war verständlich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2010 Teilen Geschrieben 2. März 2010 Jetzt möchte ich wissen wie der SQL aussieht der diesen SELECT ausführt. Genauso, wie wenn Du eine der anderen Funktionen verwendest: SELECT TEST('ein Argument') from dual Dim EDIT: Deine Funktion enthält Fehler, das ist dir bewußt oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stefan87 Geschrieben 2. März 2010 Autor Teilen Geschrieben 2. März 2010 ja sorry hab bei der Funktion die Deklaration mal weg gelassen war ja nur als Beispiel.... Ich möchte allerdings nicht dass mir das Ergebnis der Funktion als Spalte geliefert wird sondern der SELECT den die Funktion liefert ausgeführt wird. Bei deiner Vorschlag würde es so aussehen SELECT Test(‘x’) from dual; Ergebnis: Spalte : Test(x) Wert : SELECT * FROM TEST Und ich möchte den SELECT nicht angezeigt bekommen, ich möchte das er ausgeführt wird so das ich das Ergebnis sehe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2010 Teilen Geschrieben 2. März 2010 Das ist etwas aufwändiger und wird mit sog. Pipelined Functions gemacht. Hier mal ein Beispiel. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stefan87 Geschrieben 2. März 2010 Autor Teilen Geschrieben 2. März 2010 Ja das geht allerding nur wenn mir vorher bekannt ist wie die Tabelle aussieht. Bei meiner Function ist es aber so das je nachdem welche Werte übergeben werden die Tabelle komplett anders aussehen kann. Hast du dafür auch eine Idee? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2010 Teilen Geschrieben 2. März 2010 Vielleicht kannst Du mal das eigentliche Ziel schildern, vielleicht kann ich dann was dazu sagen. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stefan87 Geschrieben 2. März 2010 Autor Teilen Geschrieben 2. März 2010 Wie gesagt habe ich eine Function die je nachdem welche Werte als Parameter geliefert werden mir einen SELECT zusammenstellt. Ich möchte nun eine SQL Befehl haben der den SELECT den die Function als Rückgabewert liefert ausführt. Nicht einen SQL Befehl der mir einfach den Rückgabewert ausgibt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2010 Teilen Geschrieben 2. März 2010 Das ist mir schon klar, nur so wie Du es dir vorstellst ist das nicht möglich, daher würde ich gerne wissen wofür genau Du esbrauchst vielleicht finet sich was anderes. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stefan87 Geschrieben 2. März 2010 Autor Teilen Geschrieben 2. März 2010 Eine alternative hätte ich wollte halt nur wissen ob es so möglich wäre. Aber danke nochmal fürs Kopfzerbrechen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 2. März 2010 Teilen Geschrieben 2. März 2010 Eine alternative hätte ich wollte halt nur wissen ob es so möglich wäre. Aber danke nochmal fürs Kopfzerbrechen hmmm.. suchst du eher in dieser Richtung ? (Dynamisches Erstellen von SQL ) http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_dynamic_sql.htm Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.