使用select语句存储PL / sql函数

时间:2014-06-28 01:46:12

标签: sql oracle plsql

示例我有一个存储的pl / sql

CREATE OR REPLACE PROCEDURE number( test in NUMBER )
........
// rest of code

不可能我不想运行此执行

execute number(2);

我想用

运行
select * from number(2);

无法使用select语句运行存储的pl / sql脚本来调用函数而不是执行?

1 个答案:

答案 0 :(得分:4)

您无法从SQL执行PROCEDURE;但是,你可以从SQL执行一个FUNCTION。

首先,将NUMBER重新定义为功能:

CREATE OR REPLACE FUNCTION NUMBER(pTest IN NUMBER) RETURN NUMBER IS
  someValue NUMBER := pTest * 100;
BEGIN
  -- whatever
  RETURN someValue;
END;

然后从SELECT语句执行它

SELECT NUMBER(2) FROM DUAL;

分享并享受。