Erstellen-Funktion in einer Oracle-Datenbank mit Hilfe von java direkt
Ich verstehe, dass es möglich ist, java-Funktion, die in einer oracle-Datenbank mit dem Befehl CREATE JAVA - look hier. Ich lese viel darüber, wie dies zu tun, aber je mehr ich Las, desto mehr gibt es zu Lesen, es scheint.
Was ich tun möchte ist einfach. Da bin ich schon sehr vertraut mit Java, ich will nicht gehen durch das lernen von PL/SQL vor allem, dass das Projekt an dem ich arbeite, ist eher klein. Ich will auch nicht zu mess around zu viel mit mit dieser Funktion, die alle, die ich tun möchte ist so etwas wie die folgenden:
1) Deklarieren Sie eine Funktion, während Sie mit der Datenbank verbunden sind wie:
CREATE JAVA AS
public class Example{
public static bool returnTrue() {
return true;
}
}
2) rufen Sie Dann die Funktion während der Verbindung wie:
SELECT Example.returnTrue() FROM DUAL;
Ist das möglich?
Wie?
- Warum nicht SQL lernen, um in der Lage sein, um die Funktion auszuführen, ohne Ihr unnötige Infrastruktur?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht direkt möglich ist, müssen Sie einen weiteren Schritt:
(Beachten Sie, dass Sie nicht geben einen booleschen Wert zurück geben, in einer SQL-aufrufbare Funktion. Sie muss wieder ein gültiges Oracle-SQL-Typ, in diesem Beispiel ein String).
Erstellen Ihre Funktion:
Erstellen Sie ein PL/SQL "wrapper", die als Schnittstelle zwischen der java-Funktion und PL/SQL:
Weitere Infos in der Oracle-Dokumentation.
Investiert, wie sind Sie in Oracle? Wenn die Antwort irgendwo zwischen "eine ganze Menge" und "mein Leben hängt davon ab," lernen, PL/SQL. Es ist eine Art seltsame Sprache, in mancher Hinsicht, aber es tut, was es tut ganz gut, und das ist eine prozedurale Ebene auf der Basis von SQL. Wenn das, was Ihr code macht, ist, mehr in die Tiefe oder anspruchsvoll als "eine prozessuale Ebene auf der Basis von SQL", sollten Sie nicht verwenden gespeicherte Prozeduren überhaupt. Führen Sie Ihre eigene JVM und JDBC beschäftigen, wenn Sie es brauchen.