Ответ 1
Если вы говорите о PL/SQL, вы должны поместить его в анонимный блок.
DECLARE
v_text VARCHAR2(10); -- declare
BEGIN
v_text := 'Hello'; --assign
dbms_output.Put_line(v_text); --display
END;
Я хотел бы объявить и отобразить переменную в Oracle.
В T-SQL я бы сделал что-то вроде этого
DECLARE @A VARCHAR(10) --Declares @A
SELECT @A = '12' --Assigns @A
SELECT @A --Displays @A
Как я могу сделать это в Oracle.
Если вы говорите о PL/SQL, вы должны поместить его в анонимный блок.
DECLARE
v_text VARCHAR2(10); -- declare
BEGIN
v_text := 'Hello'; --assign
dbms_output.Put_line(v_text); --display
END;
Если вы используете sqlplus, вы можете определить переменную таким образом:
define <varname>=<varvalue>
И вы можете отобразить значение:
define <varname>
И затем используйте его в запросе как, например:
select *
from tab1
where col1 = '&varname';
Если вы используете pl/sql, тогда следующий код должен работать:
set serveroutput on - для извлечения и отображения буфера
DECLARE
v_text VARCHAR2(10); -- declare
НАЧАТЬ
v_text := 'Hello'; --assign
dbms_output.Put_line(v_text); --display
КОНЕЦ;
/- это должно быть использовано для выполнения pl/sql script
Вы недавно переключались с MySQL и теперь жаждете логических эквивалентов своих более простых команд в Oracle? Потому что это касается меня, и у меня был такой же вопрос. Этот код даст вам быстрый и грязный шрифт, который, как я думаю, является тем, что вы ищете:
Variable n number
begin
:n := 1;
end;
print n
Средняя часть представляет собой бит PL/SQL, который связывает переменную. Выход из печати n находится в форме столбца, и я не буду просто указывать значение n, боюсь. Когда я запустил его в Toad 11, он вернулся так:
n
---------
1
Я надеюсь, что это поможет