sql变量声明

时间:2014-04-23 00:42:09

标签: oracle

我正在尝试使用oracle db在工作台中声明一个变量。我发现两种方法似乎都没有被识别为工作台,不会突出显示var,也不会将其定义为命令

define s = 'test'
SELECT &&s from dual
;

var s varchar(max)
exec: s := 'test'
SELECT &&s from dual

都抛出一个错误1064.你的sql语法错误了。

如何声明一个简单的变量来执行类似

的操作
x = 'test'
select * from t where y = x

1 个答案:

答案 0 :(得分:0)

您有两种选择。

在PL / SQL中,你必须这样声明:

declare
  l_s varchar2 := 'test';
begin
  select l_s
  into   some_other_var
  from   dual
  ;
  -- or
  some_other_var := l_s;
end;
;

或者,只是在查询中使用时:

select :s
from   dual

这会询问您s的价值。