符号 "PROCEDURE" 被忽略
The symbol "PROCEDURE" was ignored
我收到这个错误:
SQL> execute procedure hr.p_empleados_limites('Executive');
begin procedure hr.p_empleados_limites('Executive'); end;
line 1, column 7: Encountered the symbol "PROCEDURE" when expecting
one of the following:
( begin case declare exit for goto if loop mod null pragma raise
return select update while with << continue close current
delete fetch lock insert open rollback savepoint set sql execute
commit forall merge pipe purge The symbol "PROCEDURE" was ignored.
在尝试 运行 此过程时:
CREATE OR REPLACE PROCEDURE P_SALARIO (P_APELLIDO VARCHAR2 )
IS
-- CURSOR EXPLICITO
CURSOR CUR IS
SELECT E.LAST_NAME, D.DEPARTMENT_NAME, ((NVL(E.COMMISSION_PCT,0)*E.SALARY)+E.SALARY) SAL_TOT
FROM HR.EMPLOYEES E, HR.DEPARTMENTS D
WHERE D.DEPARTMENT_ID=E.DEPARTMENT_ID AND
E.LAST_NAME =P_APELLIDO;
V_CUR CUR%ROWTYPE;
BEGIN
OPEN CUR;
LOOP
FETCH CUR INTO V_CUR;
EXIT WHEN CUR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('APELLIDO: '||V_CUR.LAST_NAME||' DEP_NOM: '||V_CUR.DEPARTMENT_NAME || ' - SALARIO:' || V_CUR.SAL_TOT);
END LOOP;
CLOSE CUR;
END;
----执行程序hr.p_salario('King');
在调用时删除单词 procedure
。它应该就像
execute hr.p_empleados_limites 'Executive';
(或)
exec hr.p_empleados_limites 'Executive';
我收到这个错误:
SQL> execute procedure hr.p_empleados_limites('Executive');
begin procedure hr.p_empleados_limites('Executive'); end;
line 1, column 7: Encountered the symbol "PROCEDURE" when expecting one of the following:
( begin case declare exit for goto if loop mod null pragma raise return select update while with << continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge The symbol "PROCEDURE" was ignored.
在尝试 运行 此过程时:
CREATE OR REPLACE PROCEDURE P_SALARIO (P_APELLIDO VARCHAR2 )
IS
-- CURSOR EXPLICITO
CURSOR CUR IS
SELECT E.LAST_NAME, D.DEPARTMENT_NAME, ((NVL(E.COMMISSION_PCT,0)*E.SALARY)+E.SALARY) SAL_TOT
FROM HR.EMPLOYEES E, HR.DEPARTMENTS D
WHERE D.DEPARTMENT_ID=E.DEPARTMENT_ID AND
E.LAST_NAME =P_APELLIDO;
V_CUR CUR%ROWTYPE;
BEGIN
OPEN CUR;
LOOP
FETCH CUR INTO V_CUR;
EXIT WHEN CUR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('APELLIDO: '||V_CUR.LAST_NAME||' DEP_NOM: '||V_CUR.DEPARTMENT_NAME || ' - SALARIO:' || V_CUR.SAL_TOT);
END LOOP;
CLOSE CUR;
END;
----执行程序hr.p_salario('King');
在调用时删除单词 procedure
。它应该就像
execute hr.p_empleados_limites 'Executive';
(或)
exec hr.p_empleados_limites 'Executive';