我想在Oracle中声明并显示一个变量 .
在T-SQL中我会做这样的事情
DECLARE @A VARCHAR(10) --Declares @A SELECT @A = '12' --Assigns @A SELECT @A --Displays @A
我怎样才能在Oracle中执行此操作 .
您最近是否从MySQL切换并且现在渴望在Oracle中使用更简单的命令的逻辑等价物?因为我就是这种情况,我也有同样的问题 . 这段代码将为您提供快速而肮脏的打印,我认为这是您正在寻找的:
Variable n number begin :n := 1; end; print n
中间部分是绑定变量的PL / SQL位 . print n的输出是列形式,并且不会只给出n的值,我很害怕 . 当我在Toad 11中运行它时它会像这样返回
n --------- 1
我希望有所帮助
如果使用sqlplus,则可以定义变量:
define <varname>=<varvalue>
您可以通过以下方式显示值:
define <varname>
然后在查询中使用它,例如:
select * from tab1 where col1 = '&varname';
如果您使用的是pl / sql,则以下代码应该可以正常工作:
set serveroutput on - 检索并显示缓冲区
宣布
v_text VARCHAR2(10); -- declare
开始
v_text := 'Hello'; --assign dbms_output.Put_line(v_text); --display
结束;
/ - 这必须用于执行pl / sql脚本
如果你在谈论PL / SQL,你应该把它放在匿名块中 .
DECLARE v_text VARCHAR2(10); -- declare BEGIN v_text := 'Hello'; --assign dbms_output.Put_line(v_text); --display END;
4 回答
您最近是否从MySQL切换并且现在渴望在Oracle中使用更简单的命令的逻辑等价物?因为我就是这种情况,我也有同样的问题 . 这段代码将为您提供快速而肮脏的打印,我认为这是您正在寻找的:
中间部分是绑定变量的PL / SQL位 . print n的输出是列形式,并且不会只给出n的值,我很害怕 . 当我在Toad 11中运行它时它会像这样返回
我希望有所帮助
如果使用sqlplus,则可以定义变量:
您可以通过以下方式显示值:
然后在查询中使用它,例如:
如果您使用的是pl / sql,则以下代码应该可以正常工作:
set serveroutput on - 检索并显示缓冲区
宣布
开始
结束;
/ - 这必须用于执行pl / sql脚本
如果你在谈论PL / SQL,你应该把它放在匿名块中 .