gpt4 book ai didi

oracle - pl/sql - 空行是否有 NVL()

转载 作者:行者123 更新时间:2023-12-03 18:08:03 26 4
gpt4 key购买 nike

有了这个,

set serveroutput on size 900000;
DECLARE
test VARCHAR(255):=0;
BEGIN
SELECT id INTO test FROM sku WHERE id = 1515;
dbms_output.put_line('Result:' || test);
END;

我有错误
"no data found"

当数据库中不存在 ID 时。

我如何使用类似 nvl() 的东西在这里,我可以得到一个默认值而不是得到一个错误?

最佳答案

适当的,您可以将其作为更常见的 NO_DATA_FOUND 异常处理的替代方法:

DECLARE
test VARCHAR(255):=0;
BEGIN
SELECT NVL(MAX(id),'default') INTO test FROM sku WHERE id = 1515;
dbms_output.put_line('Result:' || test);
END;

通过使用 MAX(ID) 你肯定会得到一行,当没有数据时它会有一个 NULL;然后您以通常的方式使用 NVL。

关于oracle - pl/sql - 空行是否有 NVL(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3891829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com