【发布时间】:2012-04-11 10:46:23
【问题描述】:
我想知道是否可以将条件(布尔值)传递(任何方式都可以,也可以破解)Oracle 中的用户定义函数。
假设我想要类似的东西:
CREATE OR REPLACE FUNCTION SCHEMA.MY_FUNC (
condition IN ???,
my_value IN NUMBER) RETURN NUMBER IS
BEGIN
IF condition THEN
RETURN my_value + 1;
END IF;
RETURN my_value;
END;
【问题讨论】:
-
在函数之外测试条件,然后将 1 或 0 传递给函数?
-
@PeterLang 我不能在纯 SQL 上下文中使用 BOOLEAN。
-
@lorenzo-s:这就是我在您的帖子中遗漏的信息。您尝试解决的具体问题是什么,为什么需要这个?
-
@PeterLang 我只是在寻找比
CASE WHEN [some complex condition] THEN 1 ELSE 0更简洁的东西,用于将一些“标志”传递给某些函数,仅此而已。无论如何,似乎我没有机会,只能使用 CASE 或将条件的每个术语传递给函数本身。
标签: sql oracle user-defined-functions