在函数和存储过程里不能直接使用DDL语言,也就是create table 和insert 而应该(9i使用,以前的版本使用dbms_sql包) procedure insertqianggege(qianggegejilu in qianggege%rowtype) is str varchar2(1000); begin str = 'insert into qianggege values (qianggegejilu.code,qianggegejilu.name,qianggegejilu.sex,qianggegejilu.age,qianggegejilu.jiguan,qianggegejilu.biyeyanxiao)'; execute immediate str; returnline:=returnline+1; end insertqianggege;
而应该(9i使用,以前的版本使用dbms_sql包)
procedure insertqianggege(qianggegejilu in qianggege%rowtype) is
str varchar2(1000);
begin
str = 'insert into qianggege values (qianggegejilu.code,qianggegejilu.name,qianggegejilu.sex,qianggegejilu.age,qianggegejilu.jiguan,qianggegejilu.biyeyanxiao)';
execute immediate str; returnline:=returnline+1;
end insertqianggege;