» »

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.

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

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?

vorantz ::

aka dinamični query

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 ()

no comment ::

Synonyms?

prozac ::

a sinonime se da tud updejtat? al je potrebno v insert stavku naštet dejanska imena polj tabele?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[SQL] Referenca na parameter v proceduri

Oddelek: Programiranje
71249 (962) Ahim
»

SQL inner join

Oddelek: Programiranje
393029 (2284) smacker
»

SQL query za datume, ki se ne prekrivajo

Oddelek: Programiranje
212443 (2074) omnimint
»

Izvorna koda mojega par dnevnega dela; ce jo malo pokomentirate :) (strani: 1 2 )

Oddelek: Programiranje
606173 (4518) Microsoft
»

Kako do podatka v queryu iz VisualBasicScripta (VBA) v accessu?

Oddelek: Programiranje
112047 (1932) Fim

Več podobnih tem