Как объявить и отобразить переменную в Oracle - PullRequest
26 голосов
/ 04 января 2012

Я хотел бы объявить и отобразить переменную в Oracle.

В T-SQL я бы сделал что-то вроде этого

DECLARE @A VARCHAR(10) --Declares @A
SELECT @A = '12' --Assigns @A
SELECT @A --Displays @A

Как я могу сделать это в Oracle.

Ответы [ 4 ]

38 голосов
/ 04 января 2012

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

DECLARE
    v_text VARCHAR2(10); -- declare
BEGIN
    v_text := 'Hello';  --assign
    dbms_output.Put_line(v_text); --display
END; 
8 голосов
/ 04 января 2012

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

define <varname>=<varvalue>

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

define <varname>

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

select *
from tab1
where col1 = '&varname';
3 голосов
/ 20 октября 2015

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

включить вывод сервера - для получения и отображения буфера

DECLARE

    v_text VARCHAR2(10); -- declare
BEGIN

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

/

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

1 голос
/ 16 марта 2012

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

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

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

        n
---------
        1

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...