请帮我修改一下这个存储过程

DebugXP 2010-12-01 03:53:42
create or replace procedure sm_insert(c1 in varchar2,c2 in varchar2,c3 in varchar2,c4 out varchar2)
begin
insert into sms(tele,cnt) valuse(c1,c3);
end sm_insert

提示出错,晕哦
...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
心中的彩虹 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 debugxp 的回复:]
create or replace procedure sm_insert(c1 in varchar2,c2 in varchar2,c3 in varchar2,c4 out varchar2)
begin
insert into sms(tele,cnt) valuse(c1,c3);
end sm_insert

提示出错,晕哦
[/Quote]

--不知道你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 过程已成功完成。
lzbbob1985 2010-12-01
  • 打赏
  • 举报
回复
你要into 的 变量 必须在前面定义
minitoy 2010-12-01
  • 打赏
  • 举报
回复
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;
gelyon 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 debugxp 的回复:]
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)
begin
insert into sms……
[/Quote]

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 ; --少了分号结束

17,377

社区成员

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

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