[ flighter_022 @ 04.01.2006. 08:56 ] @
U bazi imam, izmedju ostalog, 2 tabele:

A) Tabela_A
Id, Nalog

B) Tabela_B
Id, Datum, Status



Potrebno je da se za svaki datum u zadatom datumskom intervalu, za svaku stavku iz tabele A, u tabelu B ubaci po jedna stavka.

Nije problem petlja po datumima, to sam uradio sa DATEADD, WHILE petljom i jednom promenjivom. Medjutim, kako da uradim proceduru da se to desi za svaku stavku tabele A, a da iz VB.NET programa ne pozivam proceduru za svaku stavku tabele A posebno?
[ jablan @ 04.01.2006. 10:35 ] @
Pogledaj help za INSERT...SELECT
http://doc.ddart.net/mssql/sql...tml/acdata/ac_8_md_03_8vhw.htm

[Ovu poruku je menjao jablan dana 04.01.2006. u 11:39 GMT+1]
[ Zidar @ 04.01.2006. 14:07 ] @
Probaj da napravis jos jednu, vanjsku petlju, po rekordina iz tabele A. Napravi CURSOR koji ida kroz izabrane rekorde iz tabele A. Onda za svaki rekord u kursoru izvrsi tvoju petl;ju sa DATEADD. Onda iz VB.NET pozivas samo proceduru koja sadrzi CURSOR, koja obavlja ostatak posla.

:-)
[ jablan @ 04.01.2006. 14:32 ] @
Citat:
Zidar: Napravi CURSOR koji ida kroz izabrane rekorde iz tabele A.

Je l' ti to zezaš čoveka?

Code:

WHILE @date1 < @maxdate
BEGIN
  INSERT INTO Tabela_B
  SELECT a.Id, @date1, 0
  FROM Tabela_A a

  SET @date1 = DATEADD(day, 1, @date1)
END
[ flighter_022 @ 04.01.2006. 19:33 ] @
Totalno mi nije palo na pamet insert...select hehehe, izgleda jos se nisam osvestio od nove godine ;)

Radi kao sat sada, unutar WHILE petlje koja vrti datum unutar intervala.
[ Zidar @ 05.01.2006. 13:43 ] @
Ne zezam se, radilo bi sa kursorom, iako bespotrebno komplikovano. Ponudjeno resenje jeste elegantno i nema mu zamerke. Izvinjavam se za konfuziju.

:-(