一条
INSERT VALUES语句总是精确地插入1行。如果要插入带有硬编码值的多行,最常见的方法就是执行两个单独的
INSERT语句。
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);insert into t1 values(131310,'HT','20-APR-14',120020,1234);
如果您确实想要,可以从中选择您的硬编码值
dual,然后执行
INSERT SELECt
insert into t1 select 131309, 'HP', '20-FEB-04',2000000,1235 from dual union all select 131310,'HT','20-APR-14',120020,1234 from dual
或者你可以做一个
INSERT ALL
insert all into t1 values(131309,'HP','20-FEB-04',2000000,1235) into t1 values(131310,'HT','20-APR-14',120020,1234) select * from dual
就个人而言,我只使用两个语句。
尽管这与您的问题无关,但有几条评论
- 始终,始终列出您的
insert
语句中的列。您将使SQL更加健壮,这样,如果将来添加允许NULL
值的新列,您的语句仍然可以使用。而且,当列列表在那里时,您将避免很多错误,而不是希望有人记住表中列的顺序。 - 如果要在
date
列中插入值,请使用日期,而不要使用表示日期的字符串文字。依赖隐式数据类型转换是许多错误的根源。使用显式to_date
或使用ANSI日期文字。并使用4位数字的年份。



