gpt4 book ai didi

sql - 检查列是否在 PL/SQL 函数中具有特定条目

转载 作者:行者123 更新时间:2023-12-04 06:35:24 25 4
gpt4 key购买 nike

我有一张有两列的表。第二列是外键列。我想检查是否有外键记录 X在此列中。我在 Oracle 11g 上使用(而不是学习)PL/SQL。

编辑:我可以用 SQL SELECT*但是如何在 PL/SQL 中使用它在函数中返回 bool 值?

最佳答案

FUNCTION my_func ()
RETURN BOOLEAN
IS
l_contains_x NUMBER;
l_contains_x_bool BOOLEAN := false;
BEGIN
SELECT 1
INTO l_contains_x
FROM dual
WHERE EXISTS (
SELECT 1
FROM table
WHERE col = X
);

IF l_contains_x = 1 THEN
l_contains_x_bool := TRUE;
END IF;

RETURN l_contains_x_bool;

END;

请注意,这里的关键是 INTO 关键字,它将值返回到变量中。这些是位置匹配的,因此您可以将 4 列选择为 4 个变量(或将 * 选择为行类型)。
这需要 ONE 值,这就是为什么我将支票移动到一个存在中的原因,因此您的外部 SELECT 仅选择一个值。

请注意,SQL 没有 BOOLEAN 类型的概念,因此您的函数只能在 PL/SQL 上下文中使用。如果您希望在 SQL 上下文中返回真/假,您应该使用 VARCHAR2 'true' 和 'false'。

关于sql - 检查列是否在 PL/SQL 函数中具有特定条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4944447/

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