CREATE OR REPLACE FUNCTION SUPPLIER (Tradename IN DRUG.Tradename%TYPE) RETURN VARCHAR2
IS
returnString VARCHAR2(32767);
BEGIN
returnString := lpad('*',32767,'*');
SELECT Formula,Pharname INTO returnString FROM DRUG
WHERE Tradename=Tradename;
RETURN returnString;
END;
/
当我尝试创建此函数时,它说:
Warning : Function created with compilation errors.
当我执行“show err”时,我得到了:
LINE/COL ERROR
-------- -----------------------------------------------------------------
7/2 PL/SQL: SQL Statement ignored
7/44 PL/SQL: ORA-00947: not enough values
很感谢任何形式的帮助!
最佳答案
ORA-00947“值不足”
在第7行上引发:
SELECT Formula,Pharname INTO returnString
您选择了两列,但只提供了一个变量来放入它们。
您可以添加第二个变量,也可以使用某种表达式来连接值,例如:
SELECT Formula,Pharname INTO returnFormula,returnPharname
要么
SELECT Formula || Pharname INTO returnString
关于oracle - 尝试创建PL/SQL函数时出现密码错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26837856/