太郁闷了,oracle的存储过程我怎么就不会写呢?
我最怕写存储过程了,老是编译错误,还是按照教程来的,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;
/
错在哪里呢?
问题点数:30、回复次数:3Top
1 楼leecooper0918(爱一个人好难)回复于 2004-01-04 11:47:35 得分 15
-- 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');
Top
2 楼mosaic()回复于 2004-01-04 12:16:49 得分 10
没什么大错,就是begin前面少了is或as
insert之后最好加个commit;进行提交。
Top
3 楼jackjingsg(飞翔的精灵)回复于 2004-01-04 13:40:56 得分 5
楼上说得不错 还要注意缩进等问题Top




