U destination tabeli imam:
1. IDLokacije INT IDENTITY PRIMARY KEY
2. NazivLokacije NCHAR
3. OpisLokacije NTEXT
Source tabela moze da ima mnooogo rekorda (trenutna situacija je preko 400000), ali uglavnom samo par različitih lokacija. Potrebno je da:
1. iz source tabele izvucem razlicite lokacije
2. Proverim da li te lokacije postoje u dest tabeli
3. Ako ne postoje da ih upisem u tu tabelu
Nasao sam jedno resenje sa SP, ali mi deluje mnogo komplikovano za ovako jednostavnu operaciju. Postoji li jednostavnije resenje?
SET NOCOUNT ON
declare @ID Int
declare @lokacija char (100)
declare cur_temp cursor for
select distinct(Lokacija) from tblTest
open cur_temp
fetch next from cur_temp into
@lokacija
while @@FETCH_STATUS=0
begin
if @lokacija is not null
begin
select idLokacije from tblLokacije where NazivLokacije = @lokacija
if @@ROWCOUNT=0
begin
insert into tblLokacije (NazivLokacije) values (@lokacija)
end
end
fetch next from cur_temp into
@lokacija
end
close cur_temp
deallocate cur_temp
Da je važnije biti ljubazan nego biti u pravu