太郁闷了,oracle的存储过程我怎么就不会写呢?

sword_hero 2004-01-04 11:38:34
我最怕写存储过程了,老是编译错误,还是按照教程来的,PL/SQL能不能在Oracle SQL*PLUS中使用啊????
下面是我的一个存储过程,请指教一二,错在哪
表mytable 结构
id varchar2(20)
name varchar2(20)

存储过程:
create procedure InsertTable(id varchar2,age varchar2)
begin
insert into mytable values(id,age);
end InsertTable;
/
错在哪里呢?
...全文
27 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mosaic 2004-01-04
  • 打赏
  • 举报
回复
没什么大错,就是begin前面少了is或as
insert之后最好加个commit;进行提交。
leecooper0918 2004-01-04
  • 打赏
  • 举报
回复

-- execute immediate 只能在8i以上版本运行,8i以下版本使用dbms_sql包.
create or replace procedure InsertTable
(id in varchar2, age in varchar2)
is
v_sql varchar2(200);
begin
v_sql :=' insert into mytable values(' || id || ',' || age || ')' ;
execute immediate v_sql;
commit;
end;
/

sql plus:
execute InsertTable('01','sword-hero');
jackjingsg 2004-01-04
  • 打赏
  • 举报
回复
楼上说得不错 还要注意缩进等问题

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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