PL / SQL ORACLE FUNCTION

时间:2017-03-29 19:44:07

标签: sql oracle plsql

我想让函数计算我的所有ID。 但我的功能不起作用。不知道为什么 ? 我正在使用Oracle SQL Developer。

CREATE FUNCTION policz(wartosc as NUMBER) 
RETURN INT
IS
ile INT
BEGIN
SELECT COUNT(Id) INTO ile FROM t_dane
RETURN ILE;
end;

2 个答案:

答案 0 :(得分:1)

您说您正在使用Oracle SQL Developer。

但你真的吗?

enter image description here

plsql编辑器显示您可以清楚地引用您的问题以及如何解决它们。

您的原始代码在第一行有问题。您会在参数声明中注意到NUMBER上的曲线 - 因为我们无法识别' AS'作为plsql块中的有效关键字。

删除AS。

编译。

查看错误。

修复错误。

编译。

重复。

假设你有一个名为T_DANE的表,其中有一个名为ID的列,你应该很高兴。

create or replace FUNCTION policz(wartosc   NUMBER) 
RETURN INT
IS
ile INT;
BEGIN
SELECT COUNT(Id) INTO ile FROM t_dane;
RETURN ILE;
end;

一旦编译没有错误,点击“绿色播放”按钮'生成脚本以执行存储过程。为'wartosc'提供价值。然后点击确定。'

在屏幕底部,您会看到一个'输出变量'面板。点击它。您将看到为ile返回的值。

然后,您将真正使用Oracle SQL Developer。

答案 1 :(得分:0)

您的代码中存在一些问题:

CREATE OR REPLACE FUNCTION policz(wartosc NUMBER)
    RETURN INT IS
    ile                                     INT;
BEGIN
    SELECT COUNT(Id) INTO ile FROM t_dane;

    RETURN ILE;
END;

此外,wartosc参数无效:您永远不会使用它。