这是在哪个用户下创建的?声明是未指定用户,而游标中却包含用户。v_ename emp.ename%type; v_sal emp.sal%type; cursor emp_cur is select ename,sal from SCOTT.emp where deptno= (select deptno from SCOTT.dept where dname=deptname);
把游标中的SCOTT去掉。 去掉一样的还是报错
把游标中的SCOTT去掉。 去掉一样的还是报错那就是语法的问题,为什么要这样写呢?create or replace procedure getEmp(deptname varchar2:='SALES'),调用时传参不行?
把游标中的SCOTT去掉。 去掉一样的还是报错那就是语法的问题,为什么要这样写呢?create or replace procedure getEmp(deptname varchar2:='SALES'),调用时传参不行?如果没传参不就调用正默认的嘛
把游标中的SCOTT去掉。 去掉一样的还是报错那就是语法的问题,为什么要这样写呢?create or replace procedure getEmp(deptname varchar2:='SALES'),调用时传参不行?如果没传参不就调用正默认的嘛说实话,我没见过这种写法。
open emp_cur 少了个分号
CREATE OR REPLACE PROCEDURE GETEMP(DEPTNAME VARCHAR2 := 'SALES') IS V_ENAME EMP.ENAME%TYPE; V_SAL EMP.SAL%TYPE; CURSOR EMP_CUR IS SELECT ENAME, SAL FROM SCOTT.EMP WHERE DEPTNO = (SELECT DEPTNO FROM SCOTT.DEPT WHERE DNAME = DEPTNAME); BEGIN OPEN EMP_CUR; LOOP FETCH EMP_CUR INTO V_ENAME, V_SAL; EXIT WHEN EMP_CUR%NOTFOUND; DBMS_OUTPUT.PUT_LINE(V_ENAME || ' ' || V_SAL); END LOOP; CLOSE EMP_CUR; END;
PLS-00905: 对象 SCOTT.GETEMP 无效
ORA-06550: 第 3 行, 第 4 列:
PL/SQL: Statement ignored
v_sal emp.sal%type; cursor emp_cur is select ename,sal from SCOTT.emp where deptno=
(select deptno from SCOTT.dept where dname=deptname);
把游标中的SCOTT去掉。 去掉一样的还是报错
把游标中的SCOTT去掉。 去掉一样的还是报错那就是语法的问题,为什么要这样写呢?create or replace procedure getEmp(deptname varchar2:='SALES'),调用时传参不行?
把游标中的SCOTT去掉。 去掉一样的还是报错那就是语法的问题,为什么要这样写呢?create or replace procedure getEmp(deptname varchar2:='SALES'),调用时传参不行?如果没传参不就调用正默认的嘛
把游标中的SCOTT去掉。 去掉一样的还是报错那就是语法的问题,为什么要这样写呢?create or replace procedure getEmp(deptname varchar2:='SALES'),调用时传参不行?如果没传参不就调用正默认的嘛说实话,我没见过这种写法。
V_ENAME EMP.ENAME%TYPE;
V_SAL EMP.SAL%TYPE; CURSOR EMP_CUR IS
SELECT ENAME, SAL
FROM SCOTT.EMP
WHERE DEPTNO = (SELECT DEPTNO FROM SCOTT.DEPT WHERE DNAME = DEPTNAME);
BEGIN
OPEN EMP_CUR;
LOOP
FETCH EMP_CUR
INTO V_ENAME, V_SAL;
EXIT WHEN EMP_CUR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_ENAME || ' ' || V_SAL);
END LOOP;
CLOSE EMP_CUR;
END;
ORA-06550: 第 3 行, 第 4 列:
PL/SQL: Statement ignored