首页 > 解决方案 > 我如何在 oracle 数据库中调用此函数?

问题描述

CREATE OR REPLACE FUNCTION PRODUCT(PRODUCT_CODE PLS_INTEGER ) 
RETURN NUMBER
IS
    PRODUCT NUMBER:=0;
    BEGIN
       SELECT  PRODUCT_CODE INTO PRODUCT FROM PGIM_PRODUCT
       WHERE PRODUCT_CODE=PROD_DESC ;
    RETURN PRODUCT;
END PRODUCT;

标签: mysqlsqloracle

解决方案


如果你想调用一个 PL/SQL 块

DECLARE
return_val NUMBER;
BEGIN
return_val := product(101);
END;

如果你想在查询中调用它

SELECT product(100) FROM dual;

如果名称与您正在调用的架构不同,请限定名称。

编辑:

“在用户定义函数的帮助下创建单个查询......在用户定义函数中,传递了一个参数,即 product_code 及其从表 PGIM_PRODUCT 中返回的 product_desc”

如果你想要这个,那么你的查询是错误的

CREATE OR REPLACE FUNCTION PRODUCT(PRODUCT_CODE_IN PLS_INTEGER ) 
RETURN varchar2
IS
    PRODUCT_DESC varchar2(32767);
    BEGIN

       SELECT  PRODUCT_DESC INTO PRODUCT_DESC FROM PGIM_PRODUCT
       WHERE PRODUCT_CODE =  PRODUCT_CODE_IN;

    RETURN PRODUCT_DESC;
END PRODUCT;

推荐阅读