Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Generisanje INSERT upita na osnovu rezultata SELECT upita

[es] :: MS SQL :: Generisanje INSERT upita na osnovu rezultata SELECT upita

[ Pregleda: 794 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

TheBatA
Miljan Komatina
Programer, AutoMARKET
Beograd

Član broj: 25309
Poruke: 49
80.93.242.*

Sajt: www.AutoMARKET.co.yu


Profil

icon Generisanje INSERT upita na osnovu rezultata SELECT upita06.03.2008. u 15:45

Ima li neko ideju kako da na osnovu rezultata select upita generišem insert upit?

Primer:

Imam deo insert upita koji izgleda npr. ovako:
Code:

INSERT INTO [Berza]
(           [Artikal]
           ,[Stanje]
           ,[Opis]
           ,[Cena]
           ,[Valuta]
           ,[Kolicina]
)
VALUES
(


E, sad mi treba ostatak koda, koji bi trebao da bude rezultat izvršavanja select upita, koji izgleda npr. ovako:
Code:

SELECT 
       [Artikal]
      ,[Stanje]
      ,[Opis]
      ,[Cena]
      ,[Valuta]
      ,[Kolicina]
  FROM [Berza]
WHERE [Artikal] = 'Tange'


Na kraju treba da dobijem kao rezultat tekst koji bi bio formatiran na sledeći način:

Code:

INSERT INTO [Berza]
(           [Artikal]
           ,[Stanje]
           ,[Opis]
           ,[Cena]
           ,[Valuta]
           ,[Kolicina]
)
VALUES
('Tange', 2, 'Pamucne', 500, 'DIN', 100)


Lako bih ovo uradio sa varijablama, ali problem je što mi ovo treba za 20-ak tabela koje su različitih struktura, tako da mi je potrebno neko univerzalno rešenje kojem bih mogao da prosledim samo INSERT i SELECT upite.

Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
06.03.2008. u 15:45 

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Dublin // Novi Sad

Član broj: 28246
Poruke: 569
...vl-edge-dnevnik.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Re: Generisanje INSERT upita na osnovu rezultata SELECT upita06.03.2008. u 16:16
SELECT * INTO tabela2 FROM tabela1 WHERE...

while ( ! ( succeed = try() ) );
06.03.2008. u 16:16 

TheBatA
Miljan Komatina
Programer, AutoMARKET
Beograd

Član broj: 25309
Poruke: 49
80.93.231.*

Sajt: www.AutoMARKET.co.yu


Profil

icon Re: Generisanje INSERT upita na osnovu rezultata SELECT upita06.03.2008. u 23:02
Citat:
Fedya: SELECT * INTO tabela2 FROM tabela1 WHERE...


Ovo mi ne rešava problem, već samo izvršava upit za koji je meni potrebna cela skripta.

Potreban mi je INSERT upit, t.j. skripta koju ću moći da izvršim na drugom računaru.
Konkretno: kod sebe na računaru imam jednu bazu sa aktuelnim podacima. Kada se doda npr. novi artikal u bazu, ja treba da generišem skript koji će taj artikal da doda u neku bazu sa identičnom strukturom u kojoj navedeni artikal ne postoji. Ta baza se obično nalazi na nekom drugom računaru.

Problem bi mi rešila npr. stored procedura koja bi kao rezultat izvršavanja dala navedenu skriptu u obliku teksta/tekst fajla, kako bih ja mogao da tu skriptu uvučem u program naknadno i da je pošaljem klijentu.

Ideja je napraviti jednu varijablu koja bi sadržala vrednost u obliku
Code:

INSERT INTO [Berza]
(           [Artikal]
           ,[Stanje]
           ,[Opis]
           ,[Cena]
           ,[Valuta]
           ,[Kolicina]
)
VALUES
('Tange', 2, 'Pamucne', 500, 'DIN', 100)



Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
06.03.2008. u 23:02 

M E N E
borislav
Temerin

Član broj: 30434
Poruke: 183
*.nspoint.net.



Profil

icon Re: Generisanje INSERT upita na osnovu rezultata SELECT upita07.03.2008. u 07:37
a replikacija?
Uhvatili ste me nespremnog
07.03.2008. u 07:37 

Predrag Glumac
Zemun, Srbija

Član broj: 167588
Poruke: 110
*.eunet.yu.



Profil

icon Re: Generisanje INSERT upita na osnovu rezultata SELECT upita07.03.2008. u 13:31
Linked servers, pa toj bazi pristupas sa fully qualified name iz stored proc na prvom serveru.
07.03.2008. u 13:31 

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 489
77.46.206.*



Profil

icon Re: Generisanje INSERT upita na osnovu rezultata SELECT upita07.03.2008. u 13:45
Na netu imas skripti za generisanje insert-a (potrazi na google).
Takodje mozes da potrazis na google "Database Export Utility".
Ovaj na primer ima i export data http://www.eggheadcafe.com/articles/20040913.asp
07.03.2008. u 13:45 

Zidar
Canada

Član broj: 15387
Poruke: 1734
*.100.46-69.q9.net.



Profil

icon Re: Generisanje INSERT upita na osnovu rezultata SELECT upita07.03.2008. u 14:15
Evo skripta:
Code:

INSERT INTO [CiljnaBaza].dbo.[Berza]  -------- tabela u koju ucitavas podatke
(           [Artikal]
           ,[Stanje]
           ,[Opis]
           ,[Cena]
           ,[Valuta]
           ,[Kolicina]
)
---VALUES ----- ne moze VALUES kad koristsi SELECT
---('Tange', 2, 'Pamucne', 500, 'DIN', 100)
SELECT 
       [Artikal]
      ,[Stanje]
      ,[Opis]
      ,[Cena]
      ,[Valuta]
      ,[Kolicina]
  FROM [Izvornabaza].dbo.[Tabela iz koje cistas podatke]
WHERE [Artikal] = 'Tange'


Uslov: da se kolone u INSERT INTO i kolone u SELECT slazu, da ih ima isto i da su nabrojena istim redom. ne moraju da se zovu isto.
Ovako:

INSERT INTO CiljnaTabela
(Kol1, Kol2, Kol3, Kol4)
SELECT
Polje1, Polje2, Polje3, Polje4
FROM IzvornaTabela

se mapira ovako:

Polje1 ---> Kol1
Polje2 ---> Kol2
Polje3 ---> Kol3
Polje4 ---> Kol4


07.03.2008. u 14:15 

[es] :: MS SQL :: Generisanje INSERT upita na osnovu rezultata SELECT upita

[ Pregleda: 794 | Odgovora: 6 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.