de-vraag
  • Klausimai
  • Žymos
  • Vartotojai
Pranešimai
Apdovanojimai
Registracija
Užsiregistravę gausite pranešimus apie atsakymus ir komentarus į savo klausimus.
Prisijungti
Jei jau turite paskyrą, prisijunkite ir patikrinkite naujus pranešimus.
Už pridėtus klausimus, atsakymus ir komentarus bus skiriami apdovanojimai.
Daugiau
Šaltinis
Redaguoti
 Jamey
Jamey
Question

Geriausias būdas atlikti kelių eilučių įterpimą "Oracle" sistemoje?

Ieškau gero būdo, kaip atlikti kelių eilučių įterpimus į "Oracle 9" duomenų bazę. Toliau pateikiamas būdas veikia MySQL, bet neatrodo, kad jis būtų palaikomas Oracle.

INSERT INTO TMP_DIM_EXCH_RT 
(EXCH_WH_KEY, 
 EXCH_NAT_KEY, 
 EXCH_DATE, EXCH_RATE, 
 FROM_CURCY_CD, 
 TO_CURCY_CD, 
 EXCH_EFF_DATE, 
 EXCH_EFF_END_DATE, 
 EXCH_LAST_UPDATED_DATE) 
VALUES
    (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (5, 1, '28-AUG-2008', 1.16, 'USD', 'AUD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (6, 1, '28-AUG-2008', 7.81, 'USD', 'HKD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008');
242 2008-09-02T13:56:19+00:00 3
Lalit  Kumar B
Lalit Kumar B
Redaguotas klausimas priešpietr gruodis 2015 в 6:33
Programavimas
sql
oracle
database
sql-insert
oracle9i
Šis klausimas turi 1 atsakymas atsakymų anglų kalba, norėdami juos perskaityti prisijunkite prie savo paskyros.
Solution / Answer
 Espo
Espo
popietr rugsėjis 2008 в 2:08
2008-09-02T14:08:12+00:00
Daugiau
Šaltinis
Redaguoti
#8435979

Tai veikia "Oracle" sistemoje:

insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
          select 8000,0,'Multi 8000',1 from dual
union all select 8001,0,'Multi 8001',1 from dual

Čia reikia nepamiršti, kad reikia naudoti from dual teiginį.

(šaltinis)

 Espo
Espo
Redaguotas atsakymas priešpietr rugsėjis 2008 в 5:30
153
0
Matthew Watson
Matthew Watson
priešpietr rugsėjis 2008 в 2:32
2008-09-03T02:32:46+00:00
Daugiau
Šaltinis
Redaguoti
#8435981

Naudokite SQL*Loader. Jį reikia šiek tiek nustatyti, bet jei tai nėra vienkartinis veiksmas, verta.

Sukurti lentelę

SQL> create table ldr_test (id number(10) primary key, description varchar2(20));
Table created.
SQL>

Sukurti CSV

oracle-2% cat ldr_test.csv
1,Apple
2,Orange
3,Pear
oracle-2% 

Sukurti įkroviklio valdymo failą

oracle-2% cat ldr_test.ctl 
load data

 infile 'ldr_test.csv'
 into table ldr_test
 fields terminated by "," optionally enclosed by '"'              
 ( id, description )

oracle-2% 

*Įvykdyti SQLLoader komandą**

oracle-2% sqlldr <username> control=ldr_test.ctl
Password:

SQL*Loader: Release 9.2.0.5.0 - Production on Wed Sep 3 12:26:46 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Commit point reached - logical record count 3

Patvirtinti įterpimą

SQL> select * from ldr_test;

        ID DESCRIPTION
---------- --------------------
         1 Apple
         2 Orange
         3 Pear

SQL>

SQL*Loader turi daugybę parinkčių ir gali įvesti beveik bet kokį tekstinį failą. Jei norite, duomenis galite net įterpti į valdymo failą.

Štai puslapis, kuriame pateikiama daugiau informacijos -> SQL*Loader

 Espo
Espo
Redaguotas atsakymas priešpietr lapkritis 2010 в 10:24
30
0
Ryan Ahearn
Ryan Ahearn
popietr rugsėjis 2008 в 2:08
2008-09-02T14:08:58+00:00
Daugiau
Šaltinis
Redaguoti
#8435980

Jei reikšmes, kurias norite įterpti, jau turite kitoje lentelėje, galite įterpti iš pažymos Select.

INSERT INTO a_table (column_a, column_b) SELECT column_a, column_b FROM b_table;

Priešingu atveju galite išvardyti keletą vienos eilutės įterpimo teiginių ir pateikti kelias užklausas urmu, kad sutaupytumėte laiko kažkam, kas veikia ir "Oracle", ir "MySQL".

@Espo'sprendimas taip pat yra geras sprendimas, kuris veiks ir "Oracle", ir "MySQL", jei jūsų duomenys dar nėra lentelėje.

 Community
Community
Redaguotas atsakymas popietr gegužė 2017 в 12:26
11
0
Pridėti klausimą
Kategorijos
Visi
Technologijos
Kultūra / poilsis
Gyvenimas / Menai
Mokslas
Profesionalus
Verslas
Vartotojai
Visi
Naujas
Populiarus
1
Roxana Elizabeth CASTILLO Avalos
Registruota prieš 4 dienas
2
Hideo Nakagawa
Registruota prieš 5 dienas
3
Sergiy Tytarenko
Registruota prieš 6 dienas
4
shoxrux azadov
Registruota prieš 1 savaitę
5
Koreets Koreytsev
Registruota prieš 1 savaitę
DE
EL
ES
FR
ID
IT
JA
KO
LT
NL
PT
RU
SL
TR
ZH
© de-vraag 2022
Šaltinis
stackoverflow.com
pagal licenciją cc by-sa 3.0 nurodant autorystę