Drucken Fehlermeldung in der Konsole von DB2-Prozedur

Gibt es eine andere einfache Möglichkeit zum drucken Nachricht in der Konsole von DB2-Prozedur, ohne DB2_COMPATIBILITY_VECTOR=ORA in der registry?

  • ...warum wollen Sie die Ausgabe auf eine Konsole? Welche Konsole? Wie wollen Sie auf die Prozedur aufruft... und was die gesamte Kette?
  • die einfache Forderung zu Tabelle kopieren von einem schema zu einem anderen schema. Nun ich geschrieben habe, eine Prozedur, die dauert 4 Parameter 1. Quell-Schema 2. Ziel-Schema, 3. Quelle Tabelle 4. Target-Tabelle. und die Absicht ist, wenn der Benutzer eine falsche Eingabe, wie ungültige Quell-schema oder ungültige Quell-Tabelle dann Verfahren werfen sollten Fehler mit Fehlermeldung. Nun, um zu zeigen, dass die Fehlermeldung, die ich drucken möchte in der Konsole
  • ...ähm, würde nicht jedoch, Sie mit der Erklärung in der Lage sein, zu drucken, Fehler-codes, die Sie bekommen schon? Die meisten Anweisung Läufer ich bin mir dessen bewusst wird, kreischen Sie mit was auch immer geworfen wurde. Plus, was passiert, wenn Sie nicht ausgeführt wird, durch eine regelmäßige Konsole - sagen, es ist in einer anderen Prozedur aufgerufen, die ein ORM-Instanz oder unbeaufsichtigt laufen sowieso? Dies ist auch relevant, weil es die vorhandenen codes für diese Elemente zu fehlen, (obwohl Sie benötigen, werfen Sie sich selbst als Validierung, Risiko oder SQL-Injection). Wie sind Sie mit der Planung zum Umgang mit den einzelnen Datenspalten?
  • Unten finden Sie die Beispiel-code, was ich versuche.. es ist derzeit werfen Kompilierungsfehler .. CREATE OR REPLACE PROCEDURE COPY_TABLE( IN SRC_SCMA VARCHAR(30), IN TGT_SCMA VARCHAR(30), IN SRC_TBL VARCHAR(50), IN TGT_TBL VARCHAR(50) ) LANGUAGE SQL CALLED ON NULL INPUT BEGIN DECLARE a INT; DECLARE d INT; SELECT COUNT(1) INTO a FROM SYSCAT.SCHEMATA WHERE SCHEMANAME = UCASE(''||SRC_SCMA||''); IF a <= 0 THEN DBMS_OUTPUT.PUT('Invalid Source Schema Specified'); END IF; END
  • Okay, aber das wäre ein Teil der Frage (oder einen anderen), zusammen mit dem tatsächlichen Fehler. Egal, ich bin nicht überzeugt von Ausgabe zu Ausgabe wie diese ist, was Sie wirklich wollen/brauchen. Für eine Sache, die Sie haben, um es umleiten, um ein Ausgabe-stream, die dann die Möglichkeit haben, zu Lesen, dass. Das ist okay, beim Debuggen, aber macht nicht viel Sinn, während des normalen Betriebs. Wenn Sie einen Fehler Bedingung, die Sie brauchen, um das auslösen von Ausnahmen. Und wie planen Sie, wie Sie den Aufruf dieser Prozedur? Was es nennt, was nennt das, etc?
Schreibe einen Kommentar