我有一个简单的查询,我可以在toad中运行.
select * from my_table
where my_id = 11111;
Run Code Online (Sandbox Code Playgroud)
为什么我不能在toad中运行相同的查询,这次声明一个变量并在where子句中使用它?
在sql server中我会:
declare @testID int
set @testID = 11111
select * from my_table
where my_id = @testID;
Run Code Online (Sandbox Code Playgroud)
如何在Oracle 11g中完成相同的操作?
PLSQL 与 SQL SERVER 不同。它有自己的语法。看看你可以如何做到这一点,如下所示:
DECLARE
var NUMBER := 1;
var2 my_table%ROWTYPE;
BEGIN
SELECT *
INTO var2
FROM my_table
WHERE my_id = var;
--To display result you need to add dbsm_output.put_line function.
dbms_output.put_line(var2.<columnname>);
Exception
When others then
Null;
END;
Run Code Online (Sandbox Code Playgroud)
注意:假设查询仅返回一行。
在Toad(或SQL Developer)中,您可以这样做:
select * from my_table
where my_id = :testID;
Run Code Online (Sandbox Code Playgroud)
运行它时,系统将提示您输入testId绑定变量的值.
| 归档时间: |
|
| 查看次数: |
26452 次 |
| 最近记录: |