Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да вмъкнете няколко реда в една и съща таблица-Oracle 10g

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-цифрени години.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте местна дата и час (с часова зона) в времево клеймо на Unix в Oracle

  2. Добавете атрибут към xmltype със стойност, взета от последователност

  3. Как да преброите броя на появяванията на символ в стойност на Oracle varchar?

  4. Oracle SQL заявка - вземете данни от миналата седмица (понеделник-събота)

  5. Как да покажа пълното съдържание на LOB колона в Oracle SQL*Plus?