PLS-00103:遇到符号“ SELECT” pl / sql错误

巴本克5
CREATE OR REPLACE FUNCTION f2
    (v_nume employee.last_name%TYPE DEFAULT 'Andrew') 
RETURN NUMBER IS 
        salariu employee.salary%type; 
    BEGIN 
        SELECT salary 
        INTO salariu 
        FROM employee 
        WHERE last_name = v_nume; 
        RETURN salariu; 
    EXCEPTION 
        WHEN NO_DATA_FOUND THEN 
            RAISE_APPLICATION_ERROR(-20000, 'No employees'); 
        WHEN TOO_MANY_ROWS THEN 
            RAISE_APPLICATION_ERROR(-20001, 'Many employees'); 
        WHEN OTHERS THEN 
            RAISE_APPLICATION_ERROR(-20002,'Another error!'); 
END f2;

SELECT f2 FROM DUAL;

嗨!我该怎么办才能修复?另外,我可以给这个函数一个表参数吗?

安德鲁·塞耶(Andrew Sayer)

您需要先将该函数发送到数据库才能进行编译,具体取决于您的客户端程序,您可能会使用a/来这样做:

CREATE OR REPLACE FUNCTION f2
    (v_nume employee.last_name%TYPE DEFAULT 'Andrew') 
RETURN NUMBER IS 
        salariu employee.salary%type; 
    BEGIN 
        SELECT salary 
        INTO salariu 
        FROM employee 
        WHERE last_name = v_nume; 
        RETURN salariu; 
    EXCEPTION 
        WHEN NO_DATA_FOUND THEN 
            RAISE_APPLICATION_ERROR(-20000, 'No employees'); 
        WHEN TOO_MANY_ROWS THEN 
            RAISE_APPLICATION_ERROR(-20001, 'Many employees'); 
        WHEN OTHERS THEN 
            RAISE_APPLICATION_ERROR(-20002,'Another error!'); 
END f2;
/

然后,您可以使用它:

select f2() from dual;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

错误-PLS-00103:遇到符号“ SELECT”

执行 sql 块时出现 PLS-00103 错误(遇到符号“SELECT”...)

程序错误 - PLS-00103 遇到符号“>”

PLS-00103:pl/sql 错误

奇怪的PL / SQL错误-PLS-00103

Oracle PL / SQL错误PLS-00103

SQL错误创建过程:PLS-00103:遇到符号“ AS”

错误(7,1):PLS-00103:遇到符号“ BEGIN”

PLS-00103在案例中遇到符号“”错误

Oracle 包错误。PLS-00103:遇到符号“CREATE”

PLS 00306错误PL / SQL

在我的代码中出现错误,例如 PLS-00103:遇到符号“NUM_LARGE”

编译错误,PLS-00103,遇到符号“(”,当预期出现以下情况时:;

PLS-00103:在预期以下错误之一时遇到符号“~”

遇到错误 PLS-00103 符号 - 在输出字符串字段

Oracle PL/SQL 代码将无法编译,ORA-06550:第 96 行,第 3 列:PLS-00103:在预期以下情况之一时遇到符号“文件结束”:

函数-oracle(PLS-00103:遇到符号“”)

PLS-00103:遇到符号“文件结尾”

PLS00103:遇到符号“END”

PL / SQL块中的更新给出了PLS-00103错误

PL SQL过程警告已编译错误PLS-00103

在 PL/SQL 的 BEGIN ... END 块中使用 COMMENT 语句时出现 PLS-00103 错误

错误:PLS-00103:遇到符号“;” 当期望以下之一时:*&=-+ </> at in是mod余数,不是rem然后

错误(26,14):PLS-00103:预期以下其中一项时遇到符号<cursor>::=。(@%;

ORACLE SQL触发器:PLS-00103:预期以下情况之一时遇到符号“(”:

错误 ORA-00933,PL/SQL:SQL 语句被忽略,PLS-00103 在 oracle 中运行时,如何解决?

PLS-00103:在 FlyWay 中遇到符号“文件结束”

PL/SQL 遇到符号“CURSOR”

PLS-00428:在此 SELECT 语句 pl/sql oracle trigger 中需要 INTO 子句