Sql server 在Oracle的基本选择中使用变量
我有sql server的背景。通常,当试图从数据库构建一些报告或回答问题时,我会编写在查询中多次使用变量的查询。我不想每次更改查询时都更新3-4次值,而是使用一个变量,以便只更新一次值。为了简洁起见,我在下面编写了一个简单的查询,说明了在尝试提取报表时在SQL Server中的操作Sql server 在Oracle的基本选择中使用变量,sql-server,oracle,tsql,plsql,Sql Server,Oracle,Tsql,Plsql,我有sql server的背景。通常,当试图从数据库构建一些报告或回答问题时,我会编写在查询中多次使用变量的查询。我不想每次更改查询时都更新3-4次值,而是使用一个变量,以便只更新一次值。为了简洁起见,我在下面编写了一个简单的查询,说明了在尝试提取报表时在SQL Server中的操作 declare @test numeric(3) select @test = 683 select myColumn from myTable where myColumn = @test 在oracle中,这
declare @test numeric(3)
select @test = 683
select myColumn from myTable where myColumn = @test
在oracle中,这与什么是等价的?我试图写一些类似的东西,但得到了一些关于需要into语句的错误消息。根据我收集的信息,您可以在oracle的变量中选择一些内容,但您不能像我上面所做的那样以只读方式使用变量。甚至可以在oracle中编写与上面类似的查询吗?声明:
SQL> variable x number
SQL> begin :x := 3; end;
2 /
PL/SQL procedure successfully completed.
分配:
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;赋值运算符为:=,而不是=。声明:
SQL> variable x number
SQL> begin :x := 3; end;
2 /
PL/SQL procedure successfully completed.
分配:
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;赋值运算符是:=,而不是=。如果您使用的是SQL Developer,请编写查询并用于变量“:”
select myColumn from myTable where myColumn = :test
当您启动(Ctrl-Enter)查询时,SQL开发人员将询问:test的值
如果要动态更改select语句,请参阅答案:
如果您使用的是SQL Developer,请编写查询并使用变量“:”
select myColumn from myTable where myColumn = :test
当您启动(Ctrl-Enter)查询时,SQL开发人员将询问:test的值
如果要动态更改select语句,请参阅答案:
看看请注意,这只是真正的交互工作。从编程的角度来看,还有其他方法。请注意,这只是真正的交互工作。在编程上还有其他方法。我看到很多oracle问题的答案都包括在脚本之前的这个SQL>。我使用的是sql navigator,我没有任何类似于在查询语言的行前加前缀的东西。我真的需要输入SQL>?不,你不需要。如果使用SQL*Plus,这就是控制台提示,SQL*Plus是Oracle最简单的数据库客户端界面。如果在SQL Developer、Toad等中编写查询,则不需要提示。在SQL navigator中运行查询时,我没有收到任何错误,但查询结果是一个空白列,而不是数字。我怀疑这可能是sql navigator或安装的问题,而不是查询的问题:-/Uhm。。。对不起,我认为“variable x number”是一个SQL*Plus命令。我不熟悉SQL Navigator;使用它的人可能会有所帮助。看看Toadworld上这个旧威胁中的回答是否有帮助:我看到很多oracle问题的答案都包括在脚本之前的SQL>。我使用的是sql navigator,我没有任何类似于在查询语言的行前加前缀的东西。我真的需要输入SQL>?不,你不需要。如果使用SQL*Plus,这就是控制台提示,SQL*Plus是Oracle最简单的数据库客户端界面。如果在SQL Developer、Toad等中编写查询,则不需要提示。在SQL navigator中运行查询时,我没有收到任何错误,但查询结果是一个空白列,而不是数字。我怀疑这可能是sql navigator或安装的问题,而不是查询的问题:-/Uhm。。。对不起,我认为“variable x number”是一个SQL*Plus命令。我不熟悉SQL Navigator;使用它的人可能会有所帮助。看看Toadworld的这个旧威胁中的回答是否有帮助: