日期:2014-05-17  浏览次数:20869 次

如何执行表中的sql
  sql语句:
select 'insert into temp values ('||hostname|| ','||'百度'||')' from url_templet 

sql拼接,结果就是
insert into temp values (www.52yeyou.com,百度)
insert into temp values (game4.191pk.com,百度)
insert into temp values (88.198game.net,百度)
insert into temp values (www.xxp001.com,百度)
insert into temp values (vda.uuzu.com,百度)
insert into temp values (game.luokelai.com.cn,百度)
insert into temp values (act.woniu.com,百度)
insert into temp values (bto.youxiya.com,百度)


要怎么执行这些语句,只能用sql执行,不能导数据执行
oracle sql 执行sql

------解决方案--------------------
用匿名代码块吧
declare
var_hostname varchar2(64);
cursor cur_hostname is
select hostname from url_templete;
begin
var_hostname := '';
for cur in var_hostname loop
 insert into temp values (cur.hostname
------解决方案--------------------
 ','
------解决方案--------------------
'百度');
end loop;
commit;
end;

------解决方案--------------------
我突然想起来,这个用一个SQL就能完成了
INSERT INTO temp(hostname) SELECT hostname
------解决方案--------------------
','
------解决方案--------------------
'百度' FROM url_templete;

------解决方案--------------------
引用:
Quote: 引用:

用匿名代码块吧
declare
var_hostname varchar2(64);
cursor cur_hostname is
select hostname from url_templete;
begin
var_hostname := '';
for cur in var_hostname loop
 insert into temp values (cur.hostname
------解决方案--------------------
 ','
------解决方案--------------------
'百度');
end loop;
commit;
end;



写错了,把那个var_hostname 改成cur_hostname