由select TAname from ta取得name列表
想实现类似
insert into tc select * from tb where tb.name like '%'|| (select TAname from ta) ||'%'
这样的功能,我知道上一句不能运行,但我想实现这样的功能,要怎么写呢
tc和tb的结构一样

解决方案 »

  1.   

    insert into tc select tb.* from tb,ta where tb.name like '%'|| ta.TAname ||'%'
      

  2.   

    把(select TAname from ta)这个先读到变量里就可以了把
      

  3.   

    insert into tc (AA, BB, CC) select AA, BB, CC from tb where tb.name like '%'|| (select TAname from ta) ||'%'
      

  4.   

    (select TAname from ta)必须只能返回一行。。
      

  5.   

    想这样的话需要使用 动态SQL
    放在 Qracle 库中实现需要 PL/SQL
    其实质就是 用拼字符串的形式拼出你目标的SQL语句,然后提交给PL/SQL执行
      

  6.   

    1楼的办法好象是可行的,但速度好象很慢
    比如我原来查一条的like要1秒,但我select taname from ta 现有95条,运行5分钟了还没完成to3楼,如果只返回一行我就不问了5楼的要怎么弄呢,我想看看效率会不会高些