我正在尝试编写一个Oracle PL / SQL函数,它将返回应用程序的给定status_id,这样如果返回的status_type是特定值,我可以将数据存档到历史表中。
在本例中,我的状态类型为“已批准”,“待定”或“已拒绝”
我到目前为止编写了这个函数,以便我可以在IF语句中运行该方法,以便在归档数据之前检查当前的状态类型。
CREATE OR REPLACE FUNCTION get_status(curr_id NUMBER)
RETURN VARCHAR2 AS this_type status_type;
BEGIN
SELECT status_type
INTO this_type
FROM status
WHERE status_id LIKE curr_id;
RETURN this_type;
END get_status;
虽然它编译但是我收到一个错误,告诉我我的PL / SQL语句被忽略了 我对Oracle很新,所以我可能在这里找不到一些直截了当的东西,任何人都可以给我任何关于我的代码出错的指示吗?
提前致谢, 亚历克斯。
答案 0 :(得分:2)
CREATE OR REPLACE FUNCTION get_status(curr_id NUMBER)
RETURN VARCHAR2
AS
--%TYPE is used to declare variables with relation to the data type of a column
--in an existing table
this_type status.status_type%TYPE; --change is required here
BEGIN
SELECT status_type
INTO this_type
FROM status
WHERE status_id LIKE curr_id;
RETURN this_type;
END get_status;
/