können wir call-Verfahren in einer Funktion in PL/SQL?
können wir den Aufruf der Funktion innerhalb der Prozedur , aber ist es möglich, den Anruf zu Verfahren innerhalb der Funktion ?
Ich habe versucht, aber ich kann nicht rufen Sie die Prozedur innerhalb der Funktion.
könnten Sie mir sagen, warum können wir nicht nennen das Verfahren innerhalb der Funktion?
- was ist der Fehler???
- Warum sollten Sie nicht? Ich schlage vor, Sie Lesen ein wenig: 1. wie zu Fragen: catb.org/~esr/faqs/smart-questions.html#vor 2. download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm
- stackoverflow.com/questions/how-to-ask
- Deine Frage ist unmöglich zu beantworten, in seiner jetzigen form. Sie müssen liefern Beispiele für beide, was Sie versuchen zu tun, sowie den Fehlern, die es generiert wird. Ohne diese Antwort ist Reine Spekulation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie haben Sie versucht? Was haben Sie versucht? Auf welche Weise hast du nicht?
Weil es zulässig ist, rufen Sie die Prozedur innerhalb der Funktion. Also, wenn es nicht für Sie arbeiten, dann die Ursache ist etwas falsch im code. Wir können unmöglich diagnostizieren, ohne dass Sie die Bereitstellung von viel mehr Informationen als Sie derzeit haben.
Die zwei wahrscheinlichsten Gründe sind:
Haben Sie einen Syntaxfehler in Ihrem code, die verhindern, dass es zu kompilieren, oder einige andere Fehler, die hurling eine Laufzeit-exception.
Die Funktion könnte im Rahmen des Verfahrens, aber nicht Umgekehrt.
Ihre Vorgehensweise ist etwas zu tun was nicht erlaubt ist, wenn wir eine Funktion aufrufen, die in einer Abfrage (wie die DML) und Sie anrufen, Ihre Funktion in einer SELECT-Anweisung.
Ich werde zu erraten, dass hier müssen Sie die Funktion zuerst deklariert, wobei das Verfahren folgenden ähnelt:
Wie oben gezeigt, mit der Funktion deklariert zuerst rufen Sie die Funktion aus dem Verfahren. Allerdings, wenn Sie versuchen, etwas wie die folgenden (die Funktion erklärt, bevor die Prozedur-und Funktionsaufrufe Verfahren):
das kompilieren fehlschlagen, weil my_func nicht 'sehen' my_proc. Damit es funktioniert, müssen Sie ein 'Prototyp' Erklärung der my_proc, wie folgt:
Teilen und genießen.
Meine Vermutung ist, dass Sie mit
call proc
oderexec proc
. Siehe unten ein Beispiel, wie die Prozedur aufrufen.Jedoch, wenn Ihre Funktion(oder Verfahren genannt, die durch Ihre Funktion) keine DML, Ihre Funktion kann nicht verwendet werden, die in sql-Anweisungen.(Kann nur verwendet werden, in PLSQL-Blöcke).
--------------------------Verfahren innerhalb der Funktion-----------------------------
-------Deklaration der Prozedur-----------------
---------Verfahren genannt--------------------
----------------------------------Ausführung---------------------------------