2008-10-10 28 views
69

Estoy usando Oracle SQL (en SQLDeveloper, usando la Hoja de cálculo SQL). Me gustaría imprimir una declaración antes de mi selección, comoImprimir texto en Oracle SQL Developer Ventana de hoja de cálculo SQL

PRINT 'Querying Table1'; 
SELECT * from Table1; 

¿Qué debo usar para Imprimir/mostrar texto? No es Print, porque me da el error: Vincular Variable Table1 NO SE DECLARA. DBMS_OUTPUT.PUT_LINE es un comando desconocido. (Obviamente, soy un inexperto y SQLDeveloper usuario de Oracle Debe haber algún sinónimo de impresión, pero estoy teniendo problemas para encontrar ayuda en él sin saber lo que es..)

Respuesta

118

enter image description here

por simples comentarios:

set serveroutput on format wrapped; 
begin 
    DBMS_OUTPUT.put_line('simple comment'); 
end; 
/

-- do something 

begin 
    DBMS_OUTPUT.put_line('second simple comment'); 
end; 
/

usted debe conseguir:

anonymous block completed 
simple comment 

anonymous block completed 
second simple comment 

si desea imprimir los resultados de las variables, aquí está otro ejemplo:

set serveroutput on format wrapped; 
declare 
a_comment VARCHAR2(200) :='first comment'; 
begin 
    DBMS_OUTPUT.put_line(a_comment); 
end; 

/

-- do something 


declare 
a_comment VARCHAR2(200) :='comment'; 
begin 
    DBMS_OUTPUT.put_line(a_comment || 2); 
end; 

su salida debería ser:

anonymous block completed 
first comment 

anonymous block completed 
comment2 
+1

Primera línea configura la salida del servidor en formato wraped; debe ser establecer la salida del servidor en el formato ENVOLVENTE; – geographika

+0

Gracias @geographika –

+0

bueno, me ayudó. +1 –

18

Usted podría set echo a en:

set echo on 
REM Querying table 
select * from dual; 

En SQLDeveloper, presione F5 para ejecutar como una secuencia de comandos.

+0

Lo había aceptado como una respuesta, pero veo que otra respuesta tiene muchos más puntos, así que cambié mi aceptación a eso. Sin embargo, esto funcionó para mí, y es una buena respuesta. – thursdaysgeek

12

Se puede poner su texto en una instrucción de selección como ...

SELECT 'Querying Table1' FROM dual; 
33
PROMPT text to print 

Nota: debe utilizar Ejecutar como Script (F5) no Ejecutar instrucción (Ctl + Enter)

+0

Esto es muy útil. ¡Gracias! – sunlover3

6

Para mí, solo pude hacer que funcione con

set serveroutput on format word_wrapped; 

El efecto arrugado y envuelto acaba de lanzar errores: Comando SQLPLUS no - no hay suficientes argumentos

+1

¡Desaprobación! +1 –

1

Si no desea que todas las sentencias SQL que se hizo eco, pero sólo quieren ver el fácilmente identificables los resultados de la secuencia de comandos, lo hacen de esta manera:

set echo on

REM MyFirstTable

set echo off

delete from MyFirstTable;

set echo on

REM MySecondTable

set echo off

delete from MySecondTable;

la salida del ejemplo anterior se verá algo como esto:

-REM MyFirstTable

13 rows deleted.

-REM MySecondTable

27 rows deleted.

Cuestiones relacionadas