2012-01-04 1 views

ответ

34

Если вы говорите о PL/SQL, вы должны поместить его в анонимный блок.

DECLARE 
    v_text VARCHAR2(10); -- declare 
BEGIN 
    v_text := 'Hello'; --assign 
    dbms_output.Put_line(v_text); --display 
END; 
+0

Извините, что возродил старый пост. Часть этого вопроса, которая не затрагивает первоначальный вопрос, по крайней мере для меня, заключается в том, что 'dbms_output.put_line' эффективно выполняет оператор' PRINT' в T-SQL. Что Дэвид опубликовал и что я искал, так это для последнего оператора SELECT для возврата набора результатов, который может использоваться клиентским приложением. Вы знаете, как это сделать? Спасибо. – InbetweenWeekends

+0

'dbms_output.Put_line (v_text);' выполняет эквивалент 'PRINT @v_text;' в T-SQL ... если вы не забудете подключить окно вывода Dbms в SQL-разработчике к тому же конгенерации Oracle, что и ваш запрос! –

+1

Если вы хотите, чтобы ваши выходы вывода Dbms отображались на панели «Вывод сценария», это быстрый и простой учебник. http://www.thatjeffsmith.com/archive/2012/05/enabling-dbms_output-by-default-in-sql-developer/ – MPaul

7

При использовании SQLPlus вы можете определить переменную следующим образом:

define <varname>=<varvalue> 

И вы можете отобразить значение по:

define <varname> 

И затем использовать его в запросе, как, например, :

select * 
from tab1 
where col1 = '&varname'; 
+0

Синтаксис '& varname' был очень полезным, спасибо – Nacht

1

Вы недавно sw itch от MySQL и теперь жаждут логических эквивалентов своих более простых команд в Oracle? Потому что это касается меня, и у меня был такой же вопрос. Этот код даст вам быстрый и грязный отпечаток, который я думаю, это то, что вы ищете:

Variable n number 
begin 
    :n := 1; 
end; 
print n 

Средняя секция является PL/SQL бит, который связывает переменную. Выход из печати n находится в форме столбца, и я не буду просто указывать значение n, боюсь. Когда я побежал в Жаба 11 он вернулся, как этот

 n 
--------- 
     1 

Я надеюсь, что помогает

2

Если вы используете PL/SQL, то следующий код должен работать:

набор SERVEROUTPUT на - для получения и отображать буфер,

DECLARE

v_text VARCHAR2(10); -- declare 

НАЧАТЬ

v_text := 'Hello'; --assign 
dbms_output.Put_line(v_text); --display 

END;

/- это должно быть использовано для выполнения сценария pl/sql

Смежные вопросы