[code=SQL]
declare
type eName is recrod(
emp_name emp.ename%type
);
empName eName;
cursor c1 is select ename from emp;
begin
open c1;
loop
fetch c1 into empName;
exit when c1%notfound;
dbms_output.put_line(empName.emp_name);
end loop;
close c1;
end;
/[/code]
解决方案 »
- 求一个sql语句,按月排序汇总?
- SQL SERVER分页存储过程转为oracle 分页存储过程
- 满分求救:复杂行列转换
- 如何设定晚上23点定时读取本地d:\download\dingdan\dingdan_2009-07-09.txt?
- 怎样把正在运行的ORACLE数据库从一台PC转移到另一台PC?
- oracle 10g 问题
- 用DBCA创建数据库时的错误请教
- 建立简单存储过程出错,请指教。
- $ORACLE_HOME/bin/exp, $ORACLE_HOME/bin/imp, $ORACLE_HOME/bin/svrmgrl
- 可以将这个清单变成脚本来实现吗
- Oracle多对多
- 存储过程执行出错
declare emp_name emp.ename%type;cursor c1 is select ename from emp;
begin
open c1;
loop
fetch c1 into emp_name;
exit when c1%notfound;
dbms_output.put_line(emp_name);
end loop;
close c1;
end;
SQL>
SQL> DECLARE
2 V_ENAME EMP.ENAME%TYPE;
3 CURSOR C1 IS
4 SELECT ENAME FROM EMP;
5 BEGIN
6 OPEN C1;
7 LOOP
8
9 FETCH C1
10 INTO V_ENAME;
11 EXIT WHEN C1%NOTFOUND;
12 DBMS_OUTPUT.PUT_LINE(V_ENAME);
13
14 END LOOP;
15 CLOSE C1;
16 END;
17 /
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
PL/SQL procedure successfully completed
2 TYPE EMPTYPE IS RECORD(
3 ENAME emp.ename%TYPE);
4 EMPNAME EMPTYPE;
5 CURSOR C1 IS
6 SELECT ENAME FROM EMP;
7 BEGIN
8 OPEN C1;
9 LOOP
10 FETCH C1
11 INTO EMPNAME;
12 EXIT WHEN C1%NOTFOUND;
13 DBMS_OUTPUT.PUT_LINE(EMPNAME.ENAME);
14 END LOOP;
15 CLOSE C1;
16 END;
17
18 /
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
PL/SQL procedure successfully completedemp_name这个名称有问题,换个名称就行了!
declare
type eName_record is record(emp_name emp.ename%type);
empName eName_record;
cursor c1 is
select ename from emp;
begin
open c1;
loop
fetch c1
into empName.emp_name;
exit when c1%notfound;
dbms_output.put_line(empName.emp_name);
end loop;
close c1;
end;
type eName_record is record(emp_name emp.ename%type);
empName eName_record;
cursor c1 is
select ename from emp;
begin
open c1;
loop
fetch c1
into empName.emp_name;
exit when c1%notfound;
dbms_output.put_line(empName.emp_name);
end loop;
close c1;
end;
用我下面的这个SQL> DECLARE
2 TYPE ENAME IS RECORD(
3 EMP_NAME emp.ename%TYPE);
4 EMPNAME ENAME;
5 CURSOR C1 IS
6 SELECT ENAME FROM EMP;
7 BEGIN
8 OPEN C1;
9 LOOP
10 FETCH C1
11 INTO EMPNAME;
12 EXIT WHEN C1%NOTFOUND;
13 DBMS_OUTPUT.PUT_LINE(EMPNAME.EMP_NAME);
14 END LOOP;
15 CLOSE C1;
16 END;
17
18 /
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
PL/SQL procedure successfully completed