求一sql或者过程

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


tc和tb的结构一样

...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
archwuke1 2010-04-07
  • 打赏
  • 举报
回复
1楼的办法好象是可行的,但速度好象很慢
比如我原来查一条的like要1秒,但我select taname from ta 现有95条,运行5分钟了还没完成

to3楼,如果只返回一行我就不问了

5楼的要怎么弄呢,我想看看效率会不会高些
star_virgo 2010-04-07
  • 打赏
  • 举报
回复
想这样的话需要使用 动态SQL
放在 Qracle 库中实现需要 PL/SQL
其实质就是 用拼字符串的形式拼出你目标的SQL语句,然后提交给PL/SQL执行
fatfoxz 2010-04-07
  • 打赏
  • 举报
回复
(select TAname from ta)必须只能返回一行。。
fatfoxz 2010-04-07
  • 打赏
  • 举报
回复
insert into tc (AA, BB, CC) select AA, BB, CC from tb where tb.name like '%'|| (select TAname from ta) ||'%'
xiayuxue 2010-04-07
  • 打赏
  • 举报
回复
把(select TAname from ta)这个先读到变量里就可以了把
ORHCLE 2010-04-07
  • 打赏
  • 举报
回复
insert into tc select tb.* from tb,ta where tb.name like '%'|| ta.TAname ||'%'

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧