解决方案 »
- oracle 报错!ora-00600;internal error code,argument:[4097],[]
- asp.net如何连接远程oracle服务器
- oracle的SQL PLUS新建管理表空间出错
- 存储过程
- 帮我谢谢在oracle中创建这张表的sql语句!
- Oracle用户,DBA权限,只能以DBA登录不能采用Normal方式,这是啥原因?
- 没有监听器怎么解决?
- 求一个存储过程
- 请问怎样将图片存入数据库?急啊~
- database configuration assistant warning 怎么解决
- 求高手:oracle中的子查询中为什么不能有order by
- Oracle11g 启动startup.bat文件报错
参考如下代码,记住凡是涉及到多行数据的,一定得使用光标。CREATE OR REPLACE PROCEDURE PrintStudentScore(pStudentId NUMBER) IS
DECLARE
-- 定义带参光标
CURSOR curScore(ppStudentId NUMBER) IS SELECT s.sname , c.cname, g.Grade
FROM s JOIN g USING(sid) JOIN c USING(cid) WHERE sid = ppStudentId;
BEGIN
-- 光标For循环
FOR r IN curScore
LOOP
DBMS_OUTPUT.PUT(r.sname);
DBMS_OUTPUT.PUT(r.cname);
DBMS_OUTPUT.PUT(r.grade);
DBMS_OUTPUT.PUT_LINE();
END LOOP;
END PrintStudentScore;
create or replace procedure my_pro1
(param1 in number)
as
info_stu varchar2(10000);
v_stuname varchar2(10);
v_coname varchar2(10);
v_grade number(4);
begin
select a,b,c into v_stuname,v_coname,v_grade from student s,course c,grade g
where s.stuid=g.stuid and c.couid=g.couid and g.stuid = param1;
exception
when others then
dbms_output.put_line('no data');
dbms_output.put_line(v_stunam||v_coname||v_grade);
end;大致语法是这样的,而不是你的insert into ...找找资料把,这方面的文档很多的.