【问题标题】:oracle, with function clause, possible to use more than one function?oracle,带有函数子句,可以使用多个函数吗?
【发布时间】:2016-01-24 00:01:19
【问题描述】:

我正在尝试使用 oracle 12c 在 WITH 子句中运行多个函数。

尝试完成以下操作

WITH
   FUNCTION 1
   FUNCTION 2
SELECT
function1(variable)
function2(variable)
FROM
wherever;

这可能吗?我直接试过了,好像不行。

【问题讨论】:

  • 有趣,我可以用 12g 运行 2 个存储过程
  • 是的,正如 Husqvik 的回答所示,这是可能的。如果它对您不起作用,则可能是较旧的客户端或 IDE 存在问题。新的 WITH 语法有点不同,在某些 IDE 中不起作用。在 12c 语法之前,SQL 语句中永远不会有分号,许多工具会自动假定第一个分号是 SQL 语句的结尾。

标签: sql oracle


【解决方案1】:

绝对是:

HUSQVIK@hq_pdb_tcp> WITH
  2     FUNCTION function1(p VARCHAR2) RETURN NUMBER IS
  3     BEGIN
  4         RETURN 1;
  5     END;
  6     FUNCTION function2(p VARCHAR2) RETURN NUMBER IS
  7     BEGIN
  8         RETURN 2;
  9     END;
 10  SELECT
 11     function1(dummy) result1,
 12     function2(dummy) result2
 13  FROM
 14     dual;
 15  /

   RESULT1    RESULT2
---------- ----------
         1          2

1 row selected.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    相关资源
    最近更新 更多