我是新手,在写存储过程现在有如下变量
str1 varchar2(100);
str2 varchar2(100);
str3 varchar2(100);str1 :='insert into table1 values(';
str2 :='aaa';怎么样拼凑形成 'insert into table1 values('aaa')'
并且赋值给STR3
然后在PLSQL中执行STR3 ?

解决方案 »

  1.   

    SQL> declare a varchar(30);
      2  b varchar(20);
      3  c varchar(200);
      4  begin
      5  a:='insert into c values(';
      6  b:='aaa';
      7  c:=a || '''' || b || '''' || ')';
      8  execute immediate c;
      9  end;
     10  /PL/SQL 过程已成功完成。SQL> select * FROM C;A
    ----------



    aaaSQL>
      

  2.   

    str1 :='insert into table1 values(';
    str2 :='aaa';
    str3 := str1 || '''' || str2 || ''')'
      

  3.   

    waterfirer(水清)太狠了,抢分似的快
      

  4.   

    在sql中,对于特殊字符,可以在字符前加 ' 组成字符串
    如:
    SQL> SELECT '' AS TEST FROM DUAL;T
    -
    SQL> SELECT '''' AS TEST FROM DUAL;T
    -
    '
      

  5.   

    连接用 ||执行用execute immediate
      

  6.   

    waterfirer(水清)太狠了,抢分似的快
    -----
    呵呵
    to leborety(那只螃蟹) :我想早日升双星呢,你也加油,早日升星星:)
      

  7.   

    waterfirer(水清) 是干什么的啊,怎么这么闲,在这里抢分??