如何一次插入多条记录?

qufo 2004-09-17 11:50:57
表 TB(ActName,Logname)
其中 ActName 为操作名名称 Loaname为操作员名称
现在要一次插入多条记录,其中 ActName为 "初始化接口1","初始化接口2","准备公用表","初始化细表","可以正常操作" 而操作员则都是 "qufo"
上面ActName中每个引号内表示一项内容,要写一行记录。也就是说最后变成:

Actname Loaname
初始化接口1 qufo
初始化接口2 qufo
准备公用表 qufo
初始化细表 qufo
可以正常操作 qufo

除了分析后一条条地Insert,有没有其它的方法,一条Sql语句可以搞定?
...全文
200 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bzszp 2004-09-17
  • 打赏
  • 举报
回复
给出字符串的格式
可以变相的用一条语句完成
dinya2003 2004-09-17
  • 打赏
  • 举报
回复
--写个过程
create or replace procedure inserttable(p_username in varchar2) as
begin
insert into TB values('初始化接口1',p_user_name);
insert into TB values('初始化接口2',p_user_name);
insert into TB values('准备公用表',p_user_name);
insert into TB values('初始化细表',p_user_name);
insert into TB values('可以正常操作',p_user_name);
commit;
exception
when others then
rollback;
end ;
qufo 2004-09-17
  • 打赏
  • 举报
回复
现在的问题不是要分解那串字符,而是如何一次把那么多条记录插入进去。
jiezhi 2004-09-17
  • 打赏
  • 举报
回复
use decode
leborety 2004-09-17
  • 打赏
  • 举报
回复
不会,mark
csdn_chen 2004-09-17
  • 打赏
  • 举报
回复
,"初始化接口1","初始化接口2","准备公用表","初始化细表"等这些信息是从哪里得到的?如果是从其它表中得到的可以使用
insert into TB (Actname ,Loaname) select 信息,'qufo' from 来源表 where 条件;
bzszp 2004-09-17
  • 打赏
  • 举报
回复
用语句是不可能了
qufo 2004-09-17
  • 打赏
  • 举报
回复
我用的是 Oracle 8.1.7 并且,"初始化接口1","初始化接口2","准备公用表","初始化细表","可以正常操作"是可变的,并不是所有的操作都按此顺序,也可能多加些其它的任务进来。
JerryWSC 2004-09-17
  • 打赏
  • 举报
回复
如是9i及9i以上,用以下SQL:
CREATE TABLE TB(ActName VARCHAR2(20),Logname VARCHAR2(20));
INSERT ALL
INTO TB VALUES('初始化接口1','qufo')
INTO TB VALUES('初始化接口2','qufo')
INTO TB VALUES('准备公用表', 'qufo')
INTO TB VALUES('初始化细表', 'qufo')
INTO TB VALUES('可以正常操作','qufo')
SELECT 1
FROM DUAL;
SELECT * FROM TB;
DROP TABLE TB;

如其他版本,可使用sqlldr实现.

17,377

社区成员

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

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