Forum » Programiranje » MS SQL: uporaba različnega nabora tabel notraj procedure
MS SQL: uporaba različnega nabora tabel notraj procedure
driver_x ::
Zadeva je taka: znotraj procedure na MS SQL 2012 izvajam obdelavo podatkov. Zaradi razlogov, ki se jim ne morem iozogniti, moram to obdelavo vršiti nad dvema naboroma (cca. 20) tabel, tako da glede na določene pogoje izberem bodisi prvi ali drugi nabor tabel. Tabele se nahajajo v dveh različnih bazah podatkov iste instance strežnika, nimajo enakih imen in tudi niso enake strukture, imajo pa enaka vsa polja, ki jih potrebujem za obdelavo podatkov. Obdelava podatkov je precej kompleksna in obsega cca. 5000 vrstic SQL kode. Trenutno imam dve verziji te kode, vsako za svoj nabor tabel in po potrebi kličem eno ali drugo. Problem se pojavi pri spremembah, saj moram vzdrževati dve kopiji iste kode.
Zanima me, če je mogoče tabelo definirati kot spremeljivko ali kaj podobnega, kar bi mi omogočalo, da bi kot vhod v proceduro povedal, nad katerim naborom tabel želim delati in nato ustrezno nastavil imena tabel v spremenljivke.
Zanima me, če je mogoče tabelo definirati kot spremeljivko ali kaj podobnega, kar bi mi omogočalo, da bi kot vhod v proceduro povedal, nad katerim naborom tabel želim delati in nato ustrezno nastavil imena tabel v spremenljivke.
driver_x ::
Ali je v tem primeru edina varianta ta, da znotraj procedure naredim SQL on-the-fly in ga izvedem?
vorantz ::
dinamični query bi bil najbolj očitna opcija
ostaja pa problem annoying urejanja procedure
najbrž je še kak lepši način
ostaja pa problem annoying urejanja procedure
najbrž je še kak lepši način
prozac ::
a bi šlo mogoče tko, da v kodi najprej zgradiš drugi del upsert stavka (values...) in potem glede na pogoje dinamično zgradiš še prvi del stavka, kjer določiš samo ime tabele in polj, ki jih morš popravit (insert into table ''aImeTabele (Polje1,Polje2...''
Bi lahko na tak način uporabil samo eno proceduro?
Bi lahko na tak način uporabil samo eno proceduro?
driver_x ::
Razmišljal sem že, da bi dinamično naredil view-e na enih ali drugih tabelah in nato izvedel obstoječo obdelavo na view-ih namesto na tabelah. Preveriti moram le, kako bi tole izgledalo performančno, saj obdelava že sedaj poteka cca. pol ure.
Zgodovina sprememb…
- spremenil: driver_x ()
prozac ::
a sinonime se da tud updejtat? al je potrebno v insert stavku naštet dejanska imena polj tabele?
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [SQL] Referenca na parameter v proceduriOddelek: Programiranje | 1365 (1078) | Ahim |
» | SQL inner joinOddelek: Programiranje | 3294 (2549) | smacker |
» | SQL query za datume, ki se ne prekrivajoOddelek: Programiranje | 2594 (2225) | omnimint |
» | Izvorna koda mojega par dnevnega dela; ce jo malo pokomentirate :) (strani: 1 2 )Oddelek: Programiranje | 6426 (4771) | Microsoft |
» | Kako do podatka v queryu iz VisualBasicScripta (VBA) v accessu?Oddelek: Programiranje | 2145 (2030) | Fim |