相关疑难解决方法(0)

当结果可能为null时,如何在PL/SQL中选择变量?

有没有办法只运行一次查询以选择变量,考虑到查询可能什么都不返回,那么在这种情况下变量应该为null.

目前,我无法select into直接执行变量,因为如果查询什么都不返回,PL/SQL会抱怨变量没有设置.我只能运行查询两次,第一个执行计数,如果计数为零,则将变量设置为null,如果计数为1,则选择变量.

所以代码就像:

v_column my_table.column%TYPE;
v_counter number;
select count(column) into v_counter from my_table where ...;
if (v_counter = 0) then
    v_column := null;
elsif (v_counter = 1) then
    select column into v_column from my_table where ...;
end if;
Run Code Online (Sandbox Code Playgroud)

谢谢.

更新:我没有使用异常的原因是我在分配之后仍然有一些跟随逻辑v_column,我必须goto在异常部分中使用跳转回以下代码.我有点犹豫不决goto.

select plsql

65
推荐指数
5
解决办法
27万
查看次数

如何在TOAD中逃脱&符号?

当我尝试在TOAD中插入一个带有'&'的值时,我得到一个替换变量的提示.

所以,当我尝试:

insert into x values('hello & world'); 
Run Code Online (Sandbox Code Playgroud)

它会提示替换变量'world'.

我尝试右键单击编辑器并禁用替换变量的提示,但这似乎仅适用于Execute Statement(F9)它不适用于Execute as script(F5).

我也知道使用chr(38)像:

insert into x values('hello '||chr(38)||'world');
Run Code Online (Sandbox Code Playgroud)

但我不想要这个.还有其他东西可以帮助我运行脚本吗?

sql toad plsql

19
推荐指数
3
解决办法
3万
查看次数

标签 统计

plsql ×2

select ×1

sql ×1

toad ×1