这里有一个简单的问题,我正在编写一个函数,但是我在设置我的第一个if语句时遇到了问题,我的尝试在下面,但我不断得到“表达式不能用作赋值目标”错误就行了“输入:= CE;“和“Type:= UG;”我确定有一个快速解决方案......任何人都知道吗?
CREATE OR REPLACE FUNCTION SCHEMA1."FUNCTION1" ( Id IN VARCHAR2,
term IN VARCHAR2,
Type IN VARCHAR2 default NULL )
RETURN VARCHAR2 IS
BEGIN
IF Type IS NULL
THEN
IF SUBSTR(term,5,6) = 'Q'
THEN
Type := 'CE';
ELSE
Type := 'UG';
END IF;
END IF;
........
答案 0 :(得分:3)
声明一个保持变量以在函数中使用?
CREATE OR REPLACE FUNCTION SCHEMA1."FUNCTION1" ( Id IN VARCHAR2,
term IN VARCHAR2,
Type IN VARCHAR2 default NULL )
RETURN
VARCHAR2
IS
iType VARCHAR2;
BEGIN
iType := Type;
IF iType IS NULL
THEN
IF SUBSTR(term,5,6) = 'Q'
THEN
iType := 'CE';
ELSE
iType := 'UG';
END IF;
END IF;
........
答案 1 :(得分:2)
在我看来,你正在将'Type'作为参数传递,然后尝试分配给它。您打算根据Term返回'CE'/'UG'吗?如果是这样,请引入一个新变量或将Type:=更改为RETURN。