Nasledujúci návod vám popíše skript s ktorým môžte z-updatovať dáta v stĺpcoch podľa dát v inej tabuľke s rovnakými údajmi.Uvediem krátky príklad.
Na severi v našej DB sa nachádza tabuľka "tabulka_2" ktorá obsahuje ostré dáta. Na inom serveri pracovník vytvoril rovnakú tabuľku s rovnakým obsahom s názvom "tabulka_1" a upravil v nej niekoľko údajov v stĺpci "Názov". Teraz si tabulku preniesol na server do našej DB a chce zupdatovať iba dáta v stĺpci "Názov" tak aby sedeli k prislúchajúcim riadkom. V tabuľkách je primárnym kľúčom s vypnutou "allows null" hodnotou, stĺpec "NazovID".
Budeme sa teda snažiť nahradiť údaje v stĺpci "Nazov" tabuľky "tabulka_2" údajmi zo stĺpca "Nazov" tabuľky "tabulka_1" . Aby boli údaje v stĺpcoch súhlasné k prislúchajúcim riadkom, budeme ich updatovať podla stĺpca "NazovID"
1.) Nad vašou Databázou spustite "new query"
2.) Spustite nasledujúci skript. Názvy tabuliek a stĺpcov si upravte podla vašich.
UPDATE tabulka_2
SET Nazov = tabulka_1.Nazov
FROM tabulka_2,tabulka_1
WHERE (tabulka_2.NazovID = tabulka_1.NazovID)
Hotovo
4 comments
Tabulka do tabulky v inej databaze
Pi, 04/11/2011 - 11:39 poslal nino (bez overenia).Cauko,
prosim ta, ako by som skopiroval tabulka1 do tabulky1 ale v inej databaze? napriklad ak chcem povodnu databazu nechat tak a radsej experimentovat nad svojou databazou.
Myslim ale cez sql, teda urobit skript v expres studiu napriklad.
Dakujem
Nino
V podstate je to jednoduche
So, 05/11/2011 - 09:49 poslal tranzistor.Microsoft na to vymyslel špeciálny nástroj na prenos dát. Najdete ho v štarte tam kde aj management studio .. volá sa to "Import and Export data" ... tam si nastavíte zdroj dát a ciel dát ...no a ak chcete z toho vyplut skript tak si z tej ulohy v poslednom kroku jednoducho vygenerujete T-SQL skript.
Druhy sposob je nasledovny:
INSERT INTO CielovaDB..Cielova_tabulka
SELECT * FROM ZdrojovaDB..Zdrojova_tabulka
Tento skript bude fungovat za predpokladu že v databáze "CielovaDB" už existuje rovnaká tabuľka ako je "Zdrojova_tabulka" , a len sa do nej skopíruje obsah Zdrojovej_tabulky
Treti sposob slúži iba na kopirovanie obsahu tabulky (neskopíruje okrem samotných hodnôt polí nič ...žiadne primárne kľúče, žiadne väzby na iné tabuľky..skrátka iba obsah)
SELECT *
INTO CielovaDB..Cielova_tabulka
FROM ZdrojovaDB..Zdrojova_tabulka
Sranda začína keď sa začnete pokúšat o kopírovanie obsahu tabuliek nielen medzi DB ale aj medzi samotnými serverami (replikácie) ..ale o tom už nabudúce...
Dakujem
Po, 07/11/2011 - 11:26 poslal nino (bez overenia).Dakujem,
ten druhy sposob mi ide, ten treti nie, ale dal som predtym
DELETE CielovaDB..Cielova_tabulka
Co mi zmaze data, tazke som to obisiel.
D A K U J E M
Nino
To áno..
Po, 07/11/2011 - 19:06 poslal tranzistor.Aj to je spôsob..