我来自sql server背景。在试图从数据库构建一些报告或回答问题时,我经常会在查询中多次使用变量来编写查询。与其每次要更改查询时更新值3-4次,不如使用一个变量,以便只更新一次值。为了简洁起见,我在下面编写了一个简单的查询,说明在试图提取报表时我将在Server中做些什么。
declare @test numeric(3)
select @test = 683
select myColumn from myTable where myColumn = @test在甲骨文中,这相当于什么?我试着写一些类似的东西,但得到了一些关于需要into语句的错误消息。从我可以收集到的信息来看,您可以在oracle中选择变量,但不能像我前面所做的那样以只读方式使用变量。是否有可能编写类似于oracle中的查询?
发布于 2016-04-07 17:37:56
声明:
SQL> variable x number分配:
SQL> begin :x := 3; end;
2 /
PL/SQL procedure successfully completed.使用:
SQL> select :x from dual;
:X
----------
3
1 row selected.注意:在Oracle中,:代替@使用:x而不是@x;赋值运算符是:=,not =。
发布于 2016-04-08 11:26:57
如果使用的是,则编写查询并使用变量“:”
select myColumn from myTable where myColumn = :test当您启动(Ctrl-Enter)查询时,SQL开发人员将询问:test的值。
如果要动态更改select语句,请参见this答案:
define value1 = 'sysdate+3 as mydate';
SELECT &&value1 from dual;https://stackoverflow.com/questions/36482503
复制相似问题