sule99 student
Član broj: 227708 Poruke: 93 *.teched.hr.
|
primjer bi bio
prva kolona| druga kolona| treca kolona| kolonaID(ona mi treba jer preko nje dohvaćam svaki redak u kursoru)
a,b,c,d,e,f | 1,2,3,4,5,6 | x,y,z,q,w,ž | 1
k,j,u | 8,9,0 | t,z,r | 2
ja sad trebam dobiti ovo s tom SPLIT funkcijom:
kolona1| kolona2| kolona3| kolonaID
a| 1| x| 1
b| 2| y| 1
c| 3| z| 1
d| 4| q| 1
e| 5| w| 1
f| 6| ž| 1
k| 8| t| 2
j| 9| z| 2
u| 0| r| 2
...i tako redom redak po redak i insert u istu tablicu (ovo je bio primjer s dva retka, a imam ih oko 200 000). I sve funkcije s net-a koje rade split kad ih preuredim da splitaju 3 kolone odjednom,treba preko 6 sati da završe posao.
U međuvrmenu sam riješio problem tako da sam uvezao CLR funkciju pisanu u C# koja prima tri ulazna stringa (npr. a,b,c,d,e,f je prvi string, 1,2,3,4,5,6 je drugi string i x,y,z,q,w,ž je treći ulazni string) i radi ovo što meni treba. naravno opet koristim kursor koji preko IDkolone dohvaća redak po redak i izvršava CLR funkciju. Zanimljivo je to što CLR funkcija obradi svih 200 000 redaka za 6 minuta što je neusporedivo brže od funkcija pisanih u T-SQL.
Hvala na odgovoru, ovo je dosta komplicirano bilo za objasniti pa zato nisam bio potpuno jasan prvi put. Nadam se da je sada detaljno opisan i problem, a i rješenje do kojega sam došao, možda nekome nekada zatreba.
Pozz
|