您的位置:首页 > 数据库 > Oracle

oracle存储过程——插入相关信息

2012-01-30 10:32 204 查看
思路与更新类似,不懂的看我上篇文章

直接上代码

CREATE OR REPLACE PROCEDURE insertinfo(
myid in varchar,
myname in varchar,
mysex in varchar)
AS
mypl varchar2(100);
mypl1 varchar2(100);  -- 负责字段的拼接
mypl2 varchar2(100);  -- 负责字段值的拼接
BEGIN
mypl:='insert into test';
mypl1:='';
mypl2:='';
IF(myid is not null) THEN
mypl1:=mypl1 || 'ID,';
mypl2:=mypl2 || '''' || myid || ''',';
ELSE
dbms_output.put_line('id不能为空!');
return;  --id输入不规范,退出存储过程
END IF;
IF(myname is not null) THEN
mypl1:=mypl1 || 'NAME,';
mypl2:=mypl2 || '''' || myname || ''',';
END IF;
IF(mysex is not null) THEN
mypl1:=mypl1 || 'SEX,';
mypl2:=mypl2 || '''' || mysex || ''',';
END IF;
mypl1:=substr(mypl1,0,length(mypl1)-1);
mypl2:=substr(mypl2,0,length(mypl2)-1);
mypl:=mypl || '(' || mypl1 || ')values(' || mypl2 || ')';
-- dbms_output.put_line(mypl);
execute immediate mypl;
dbms_output.put_line('插入成功!');
END;
/


不要忘了set serveroutput on;要不看不到输出内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: