17,377
社区成员
发帖
与我相关
我的任务
分享
--不知道你c2,c4干什么,tele,cnt类型是什么
create or replace procedure
sm_insert(c1 sms.tele%type,c2 in varchar2,c3 sms.cnt%type,c4 out varchar2)
as ---as or is
begin
insert into sms(tele,cnt) valuse(c1,c3);
end sm_insert; --分号
create or replace procedure sm_insert(c1 sms.tele%type,c2 in varchar2,c3 sms.cnt%type,c4 out varchar2)
as
begin
insert into sms(tele,cnt) valuse(c1,c3);
end sm_insert;
SQL> ed
已写入 file afiedt.buf
1 create or replace procedure sm_insert
2 (c1 in varchar2,c2 in varchar2,c3 in varchar2,c4 out varchar2)
--c1,c2,c3,c4已经在参数里了 不需要在定义
3 is
4 begin
5 insert into sms(tele,cnt) values (c1,c3);
6 c4:='成功';
7* end sm_insert; --这里要分号结束
SQL> /
过程已创建。
--调用过程
SQL> declare
2 c4 varchar2(10);
3 begin
4 sm_insert('a','aa','aaa',c4);
5 dbms_output.put_line(c4);
6 end;
7 /
成功
PL/SQL 过程已成功完成。
create or replace procedure sm_insert(c1 in varchar2,c2 in varchar2,c3 in varchar2,c4 out varchar2)
as
begin
insert into sms(tele,cnt) values(c1,c3);
end sm_insert;
create or replace procedure sm_insert(c1 in varchar2,c2 in varchar2,c3 in varchar2,c4 out varchar2)
is
c1 varchar2(11); --逗号改成分号,语句以分号结束
c2 varchar2(11);
c3 varchar2(140);
c4 varchar2(4) ; --此参数已经在入参已经定义,但必须需要返回C4
begin
insert into sms(tele,cnt) values(c1,c3); --values 写错!
c4:=1;
end sm_insert ; --少了分号结束