在PL/SQL中如何执行多条INSERT 语句?

gerrycen 2003-03-20 07:21:26

INSERT INTO unicom.gsm_list SELECT CALLTYPE,ACCESS_NUMBER,CALLED_NUMBER FROM GSM_USAGE_CHARGE_TABLE_200303@server10 WHERE access_number like '1317791%' and CREATED_DATE>=to_date('20030313','yyyymmdd') and CREATED_DATE<=to_date('20030319','yyyymmdd')
INSERT INTO unicom.gsm_list SELECT CALLTYPE,ACCESS_NUMBER,CALLED_NUMBER FROM GSM_USAGE_CHARGE_TABLE_200303@server10 WHERE access_number like '1318456%' and CREATED_DATE>=to_date('20030313','yyyymmdd') and CREATED_DATE<=to_date('20030319','yyyymmdd')


单条可以执行,但是放在一起会报错,字符无效,加了分号也不行,说语句未正确结束,
这是为什么?
...全文
360 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
czmy007 2003-03-21
  • 打赏
  • 举报
回复
在OEM的工具SQLPLUS WORKSHEET 中可以运行。
wuque007 2003-03-21
  • 打赏
  • 举报
回复
编写一个脚本然后再sql*plus worksheet里运行本地脚本就行~~~~~~~~~~
kerisyml 2003-03-21
  • 打赏
  • 举报
回复
作一个存储过程
或在Oracle自带的SQL WorkSheet里面运行
beckhambobo 2003-03-21
  • 打赏
  • 举报
回复
create procedure p_insert
as
begin
INSERT INTO unicom.gsm_list SELECT CALLTYPE,ACCESS_NUMBER,CALLED_NUMBER FROM GSM_USAGE_CHARGE_TABLE_200303@server10 WHERE access_number like '1317791%' and CREATED_DATE>=to_date('20030313','yyyymmdd') and CREATED_DATE<=to_date('20030319','yyyymmdd');
end;
/


begin
for i in 1..n loop
p_insert;
end loop;
end;
/
cenlmmx 2003-03-21
  • 打赏
  • 举报
回复
用动态SQL, 在外面套一个循环.
ssstar 2003-03-21
  • 打赏
  • 举报
回复
inert..../
.
.
.
insert.../
cao_elsie 2003-03-20
  • 打赏
  • 举报
回复
做一个循环不就行了吗
shahand 2003-03-20
  • 打赏
  • 举报
回复
没有加分号?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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