急,求解答

tuotuo_gongzhu 2012-06-06 11:00:01
定义表S2,表结构同student表相同.编写存储过程,在过程中利用游标将student表中系别为'CS'的记录插入到表S2中

create or replace procedure s_test as
CURSOR c_job IS select * from student where sdept='CS';
c_row c_job%rowtype;
begin
open c_job;
LOOP
FETCH c_job INTO c_row;
exit when c_job%notfound;
dbms_output.put_line(c_row.sno||'-'||c_row.sname||'-'||c_row.sdept);
INSERT INTO S2(sno,sname,sdept) VALUES(c_row.sno,c_row.sname,c_row.sdept);
END LOOP;
END c_job;
end;
答案错在哪里了?求改正


...全文
201 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpingping 2012-06-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
引用 8 楼 的回复:
关闭游标
close c_job;


运行成功,但是S2表中没有记录,怎么回事啊?
[/Quote]
commit;
提交
tuotuo_gongzhu 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
关闭游标
close c_job;
[/Quote]

运行成功,但是S2表中没有记录,怎么回事啊?
xpingping 2012-06-10
  • 打赏
  • 举报
回复
关闭游标
close c_job;
tuotuo_gongzhu 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

把执行代码及错误信息贴出来,通常是最好的求救方法!
[/Quote]
Compilation errors for PROCEDURE SYSTEM.S_TEST

Error: PLS-00113: END 标识符 'C_JOB' 必须同 'S_TEST' 匹配 (在第 1 行, 第 11 列)
Line: 12
Text: END c_job;

Error: PLS-00103: 出现符号 "END"
Line: 13
Text: end;
tuotuo_gongzhu 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

select出来的数据是多条的 fetch只能取出一条
[/Quote]
那请问这个题的正确解法?
tuotuo_gongzhu 2012-06-10
  • 打赏
  • 举报
回复
那请问这个题的正确解法
javaxiarixi 2012-06-08
  • 打赏
  • 举报
回复
select出来的数据是多条的 fetch只能取出一条
fangxiaoni893436 2012-06-06
  • 打赏
  • 举报
回复
[create or replace procedure s_test
as
CURSOR c_job IS select * from student where sdept='CS';
c_row student%rowtype;
begin
open c_job;
LOOP
FETCH c_job INTO c_row;
exit when c_job%notfound;
dbms_output.put_line(c_row.sno||'-'||c_row.sname||'-'||c_row.sdept);
INSERT INTO S2(sno,sname,sdept) VALUES(c_row.sno,c_row.sname,c_row.sdept);
END LOOP;
close c_job;
end;
][/code]
luoyoumou 2012-06-06
  • 打赏
  • 举报
回复
把执行代码及错误信息贴出来,通常是最好的求救方法!
luoyoumou 2012-06-06
  • 打赏
  • 举报
回复
把错误信息贴出来是最好的求救方法!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧