我有一个简单的查询,我可以在toad中运行。
select * from my_table
where my_id = 11111;
为什么我不能在toad中运行相同的查询,这次声明一个变量并在where子句中使用它?
在sql server中我会:
declare @testID int
set @testID = 11111
select * from my_table
where my_id = @testID;
如何在Oracle 11g中完成相同的工作?
答案 0 :(得分:5)
在Toad(或SQL Developer)中,您可以这样做:
select * from my_table
where my_id = :testID;
运行时,系统将提示您输入testId绑定变量的值。
答案 1 :(得分:2)
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;
注意:假设查询将只返回一行。