SQL> create or replace procedure student_info1
2 (xm in char,cname in char)
3 as
4 begin
5 select a.xh,xm,kcm,cj,xf
6 from xs a inner join xs_kc b
7 on a.xh=b.xh inner join kc t
8 on b.kch=t.kch
9 where
10 a.xm=xm and t.kcm=cname;
11 end;
12 /警告: 创建的过程带有编译错误。
为什么OEM中提示: 错误文本= PLS-00428: 在此 SELECT 语句中缺少 INTO 子句
2 (xm in char,cname in char)
3 as
4 begin
5 select a.xh,xm,kcm,cj,xf
6 from xs a inner join xs_kc b
7 on a.xh=b.xh inner join kc t
8 on b.kch=t.kch
9 where
10 a.xm=xm and t.kcm=cname;
11 end;
12 /警告: 创建的过程带有编译错误。
为什么OEM中提示: 错误文本= PLS-00428: 在此 SELECT 语句中缺少 INTO 子句
这是SQL server 的用法,oracle不行
v_xh char(10):='';
v_xm char(10):='';
v_kcm char(20):='';
v_cj char(20): ='';
v_xf char(30):='';2、修改select 语句
create or replace procedure student_info1
2 as
4 begin
5 select a.xh,xm,kcm,cj,xf
6 from xs a inner join xs_kc b
7 on a.xh=b.xh inner join kc t
8 on b.kch=t.kch
9 where
10 a.xm=xm and t.kcm=cname
insert into v_xh,v_xm,v_kcm,v_cj,v_xf
11 end; 重新编译即可
v_xh char(10):='';
v_xm char(10):='';
v_kcm char(10):='';
v_cj char(10):='';
v_xf char(10):='';
begin
select a.xh,xm,kcm,cj,xf into v_xh,v_xm,v_kcm,v_cj,v_xf
from xs a inner join xs_kc b
on a.xh=b.xh inner join kc t
on b.kch=t.kch
where
a.xm=xm;
dbms_output.put_line(v_xh||v_xm);
end;
运行成功。