如何在 Oracle PL/SQL where 子句中使用变量

2021-12-24 00:00:00 variables oracle plsql

我似乎无法让变量在 Oracle PL/SQL where 子句中工作.我来自 Microsoft SQL Server 背景,这很容易.例如,执行与以下类似的操作所需的所有步骤是什么?

I can't seem to get variables to work in an Oracle PL/SQL where clause. I come from a Microsoft SQL Server background and there it was easy. For example, what would be all steps needed to do something similar to the following?

declare @var int set @var = 1

select * from SomeTable where SomeField = @var

这在 PL/SQL 中似乎并不难,但显然确实如此.:-/我听说我需要在 PL/SQL 中使用游标等?

This doesn't seem like it should be hard in PL/SQL, but evidently it is. :-/ I hear I need to use cursors and the like in PL/SQL?

任何帮助将不胜感激.谢谢.

Any help would be greatly appreciated. Thanks.

推荐答案

您想对 SELECT 返回的数据做什么?如果你只是想看看它,你根本不需要 PL/SQL,只需在 SQL Plus 中执行此操作:

What do you want to do with the data that the SELECT returns? If you just want to see it you don't need PL/SQL at all, just do this in SQL Plus:

variable var number
exec :var := 1

select * from SomeTable where SomeField = :var;

或者在 SQL Developer 或 Toad 之类的工具中,只需执行以下操作:

Or in a tool like SQL Developer or Toad, just do this:

select * from SomeTable where SomeField = :var;

它会提示你输入 :var 的值.

and it will prompt you to enter the value for :var.

相关文章