Używam Oracle SQL (w SQLDeveloper, używając arkusza SQL). Chciałbym wydrukować wyciąg przed moim wyborem, np
PRINT 'Querying Table1';
SELECT * from Table1;
Czego używam do drukowania / wyświetlania wyników tekstowych? To nie jest drukowanie, ponieważ powoduje to błąd: Zmienna powiązania Table1
NIE JEST ZADEKLAROWANA. DBMS_OUTPUT.PUT_LINE to nieznane polecenie. (Oczywiście jestem niedoświadczonym użytkownikiem SQLDeveloper i Oracle. Musi istnieć synonim Print, ale mam problem ze znalezieniem pomocy, nie wiedząc, co to jest.)
oracle
printing
oracle-sqldeveloper
czwartek
źródło
źródło
set serveroutput on format word_wrapped; begin dbms_output.put_line('hello world'); end; select * from dual
Daje mi:select * from dual; Error report: ORA-06550: line 7, column 1: PLS-00103: Encountered the symbol "SELECT" 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action
Uwaga: należy użyć instrukcji Run as Script (F5) not Run (Ctl + Enter)
źródło
Możesz włączyć echo :
set echo on REM Querying table select * from dual;
W SQLDeveloper naciśnij F5, aby uruchomić jako skrypt.
źródło
Możesz umieścić swój tekst w instrukcji Select, takiej jak ...
SELECT 'Querying Table1' FROM dual;
źródło
Główna odpowiedź pomija krok dla nowych instalacji, w którym trzeba otworzyć okno wyjściowe dbms.
Następnie wykorzystałem skrypt:
dbms_output.put_line('Start');
Inny skrypt:
set serveroutput on format wrapped; begin DBMS_OUTPUT.put_line('jabberwocky'); end;
źródło
Dla mnie mogłem tylko zmusić to do pracy
set serveroutput on format word_wrapped;
Zawinięte i WRAPPED właśnie wyrzuciło błędy: komenda SQLPLUS nie powiodła się - za mało argumentów
źródło
Jeśli nie chcesz, aby wszystkie twoje instrukcje SQL były powtarzane, ale chcesz zobaczyć tylko łatwe do zidentyfikowania wyniki skryptu, zrób to w ten sposób:
Dane wyjściowe z powyższego przykładu będą wyglądać mniej więcej tak:
źródło
Jeśli pominę rozpoczęcie - koniec, to błąd. Więc dla mnie to działa (nic więcej nie jest potrzebne):
set serveroutput on; begin DBMS_OUTPUT.PUT_LINE('testing'); end;
źródło