Serveroutput
Um diverse andere Ausgaben mithilfe einer Prozedur zu erstellen, gibt es die Funktion DBMS_OUTPUT.PUT_LINE. Damit diese voll funktionsfähig ist, kann es je nach Konfiguration des DBMS vorkommen, dass wir den Output erst einschalten müssen.
Mit dem folgenden Befehl wird das DBMS_OUTPUT aktiviert:
DBMS_OUTPUT.ENABLE;
Sollte danach noch immer kein Output erscheinen, muss global noch der Serveroutput des DBMS aktiviert werden:
SET SERVEROUTPUT ON;
Eine fertige Prozedur könnte nun so aussehen:
CREATE OR REPLACE PROCEDURE TEST_DBMS_OUTPUT AS
BEGIN
DBMS_OUTPUT.DISABLED;
DBMS_OUTPUT.PUT_LINE('DBMS Output deaktiviert');
DBMS_OUTPUT.ENABLE;
DBMS_OUTPUT.PUT_LINE('DBMS Output aktiviert');
END;
Der Aufruf:
SET SERVEROUTPUT ON;
CALL TEST_DBMS_OUTPUT();
Output:
"DBMS Output aktiviert"
Stringverkettung
Wie kann man nun verschiedene Strings/Zeichenketten/Variablen/etc.. gemeinsam ausgeben. Dafür wird der
||
Operator verwendet.
Das würde dann z.b. so aussehen:
DBMS_OUTPUT.PUT_LINE(variable1 || ' + ' || variable2 || ' = ' || variable1+variable2)
Hoffe das hilft manch anderem auch weiter.
Technische Info:
Folgende Erklärung bezieht sich auf eine Oracle 10g Datenbank. Der verwendete SQL Client ist SQLDeveloper V.1.5.4.