在jsp中直接运行insert 语句插入不行么?为什么要写到存储过程里面

解决方案 »

  1.   

    对啊!上面两个如果不是很麻烦到必须用procedure的话,用个insert 和 select来解决不是很好吗?
      

  2.   

    存储过程的作用不就是把insert 语句放在数据库里运行,提高速度吗?
    create or repace procedure Intestpro(usreid in int,username in varchar2,usersex in varchar2,age in int)
    is
    tempsql varchar2(50);
    begin
    tempsql='insert into testpro values (|| userid ||,'||username||','||usersex||',|| age ||)';
    execute immediate tempsql;
    end;
    不知道这样写正确不....?
      

  3.   

    上面的改为tempsql='insert into testpro values ( userid ,username,usersex, age )';按你的要求没必要用动态sql
      

  4.   

    如果动态用sql怎样写呢?如果正确,我让你变成一个红星
      

  5.   

    要是嫌出价太低再加100;
    Question1:100分
    Question2:100分
    欲上青天揽明月,将下宝盆捞分值!
      

  6.   

    用动态sql就按我说的那样写就可以了啊!tempsql='insert into testpro values ( userid ,username,usersex, age )';
      

  7.   

    不好意思,嘿嘿!上面写错了,应该是tempsql='insert into testpro values ('|| userid||','||username||','||usersex||','|| age ||')';
      

  8.   

    第二个问题是一样的啊!你要用存储过程的话,就定义一个游标,然后用游标取记录集就是了,如果只是像你的说的那样,实在是没必要用动态sql,再说了,在jsp中直接用insert 和 select来解决不是很好吗?何必搞得那么复杂,速度也不见得慢
      

  9.   

    哪在什么情况下才动用存储过程!
    第一个问题当中id 在数据库中是number类型,象这样'|| userid ||'行吗?
    第二个问题写一个例子来看一下!
      

  10.   

    create or replace procedure Intestpro(usreid in int,username in varchar2,usersex in varchar2,age in int)
       is
       tempsql varchar2(50);
       begin
       tempsql='insert into testpro values ('|| userid ||','||username||','||usersex||','|| age ||')';
       execute immediate tempsql;
       end;
    再说这样也编译不过去!
      

  11.   

    当然了,你的userid定义的时候都写错了,怎么编译啊?按下面的编译create or replace procedure Intestpro(userid in int,username in varchar2,usersex in varchar2,age in int)
       is
       tempsql varchar2(50);
       begin
       tempsql:='insert into testpro values ('|| userid ||','||username||','||usersex||','|| age ||')';
       execute immediate tempsql;
       end;
      

  12.   

    上面少写了一个引号create or replace procedure Intestpro(userid in int,username in varchar2,usersex in varchar2,age in int)
       is
       tempsql varchar2(200);
       begin
       tempsql:='insert into testpro values ('|| userid ||','''||username||''','''||usersex||''','|| age ||')';
       execute immediate tempsql;
       commit;
       end;