gpt4 book ai didi

sql - PLSQL:在 if 语句中使用子查询错误 PLS-00405

转载 作者:行者123 更新时间:2023-12-01 00:16:21 25 4
gpt4 key购买 nike

当我尝试运行此代码时,出现错误 pls-00405:

BEGIN
IF :P10_KAART_CODE IN (SELECT KAART_CODE FROM CADEAUKAART) THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END;

有一些类似的问题,但找不到这个简单代码的解决方案。有没有另一种写法而不会遇到错误?

最佳答案

PL/SQL 在 if 中不支持嵌入式 SQL声明。所以你需要像这样重写你的代码:

create or replace function validate_kaart_code 
(P10_KAART_CODE in CADEAUKAART.KAART_CODE%type)
return boolean
is
rv boolean;
l_code CADEAUKAART.KAART_CODE%type;
BEGIN
begin
SELECT KAART_CODE into l_code
FROM CADEAUKAART
where KAART_CODE =:P10_KAART_CODE
and rownum = 1 -- only necessary if KAART_CODE is not unique
;
rv := TRUE;
exception
when no_data_found then
rv := FALSE;
end;
RETURN rv;
END;

我试图从您发布的片段中重建您的整个功能。如果这不是您想要的并且您无法将其转换为适合您的需要,请提供更多详细信息。

关于sql - PLSQL:在 if 语句中使用子查询错误 PLS-00405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346437/

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