0

在 Aqua Data Studio 中,您可以激活 Parameterized Scripts 的设置,这将提示您为脚本中包含的任何变量输入一个值,写为 &[variable name]。

我想在我的 ADS 脚本中使用一个变量,但我不想使用参数化脚本,因为我将导出这个脚本以在其他地方运行。我想动态设置和使用变量的值。

我知道可以像这样在 ADS 中声明和打印变量,而无需使用参数化脚本:

declare var1 varchar(20) := 'Hello world!';
begin
    DBMS_OUTPUT.put_line(var1);
end;

但是每当我尝试在实际查询中使用该变量时,一切都会中断。

前任。

declare var1 varchar(20) := 'Jeremiah';
begin
    select * from PEOPLE where FIRST_NAME = &var1;
end;

这是错误消息:

[错误] 脚本行:1-4 -------------- ORA-06550:第 0 行,第 0 列:PLS-00801:内部错误 [ph2csql_strdef_to_diana:bind] ORA-06550:第 3 行,第 19 列:PL/SQL:ORA-06544:PL/SQL:内部错误,参数:[ph2csql_strdef_to_diana:bind]、[0]、[0]、[]、 []、[]、[]、[] ORA-06550:第 3 行,第 5 列:PL/SQL:忽略 SQL 语句脚本第 1 行,语句第 1 行,第 0 列

有什么办法可以在我的脚本中使用该变量?或者我是否受到使用 ADS 的限制?

4

0 回答 0