Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Stored procedura sa danima i datumima

[es] :: MS SQL :: Stored procedura sa danima i datumima

[ Pregleda: 1945 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

duchess
Ivana Petrovic
In the middle of nowhere.

Član broj: 142670
Poruke: 132
*.dialup.neobee.net.

Sajt: ivona.stens-turs.com


Profil

icon Stored procedura sa danima i datumima07.05.2007. u 20:15 - pre 206 meseci
Ok. Imam problem sa jednom procedurom.
imam promenljive @startdate i @enddate.
treba mi procedura koja ce za period izmedju startdate i enddate napuniti bazu, s tim sto se popunjava dan (startdate-a). Znaci npr. ako hocu da ubacim red u bazi za svaki petak od 1.1. do 1.2. znaci da mi za svaki petak u tom periodu bude ubacen. ufff ni sama sebe ne razumem.

Evo pokusala sam ja nesto pa ako neko uspe da me razume....

CREATE PROCEDURE dbo.Dan
@tempdate smalldatetime,

set @tempdate >= @startdate
while @tempdate<@enddate
INSERT INTO rezervacije
(klijentid, racunarid, vremeOD, vremeDO, ObicneDatum, tipRezervacije)
VALUES (@klijentid,@racunarid,@vremeOD,@vremeDO,@ObicneDatum,@tipRezervacije)

set @tempdate=dateadd(day,7,@startdate) */dodaje za trenutni datum svaki sedmi dan dok ne dodje do endDate*/
next


....... ne znam dalje.

Listen very carefully, I shall say this only once!
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.mediaworksit.net.

Jabber: DarkMan


Profil

icon Re: Stored procedura sa danima i datumima07.05.2007. u 21:50 - pre 206 meseci
Citat:
duchess
set @tempdate >= @startdate

Ovde ne moze da stoji poredjenje vec znak jednakosti:
Code:

set @tempdate = @startdate


While petlja treba da ima begin i end blok:
Code:

while @tempdate<@enddate
  begin
    INSERT INTO rezervacije
      (klijentid, racunarid, vremeOD, vremeDO, ObicneDatum, tipRezervacije)
      VALUES (@klijentid,@racunarid,@vremeOD,@vremeDO,@ObicneDatum,@tipRezervacije)
    set @tempdate=dateadd(day,7,@tempdate) -- ne uvecavas @startdate jer onda nikada neces izaci iz petlje
  end


Blok komentara se otvara sa /* a zatvara sa */
Ako zelis komentarisati samo jednu liniju onda koristis --

Cela procedura bi izgledala ovako:
Code:

create procedure Dan
  @startdate datetime,
  @enddate datetime
as

  declare @tempdate datetime
  set @tempdate = @startdate

  while @tempdate<@enddate
    begin
      INSERT INTO rezervacije(klijentid, racunarid, vremeOD, vremeDO, ObicneDatum, tipRezervacije)
        VALUES (@klijentid,@racunarid,@vremeOD,@vremeDO,@ObicneDatum,@tipRezervacije)
      set @tempdate=dateadd(day,7,@tempdate)
    end
go


Edit: Zaboravi end na kraju begin bloka za while petlju :)

[Ovu poruku je menjao DarkMan dana 08.05.2007. u 19:04 GMT+1]
 
Odgovor na temu

duchess
Ivana Petrovic
In the middle of nowhere.

Član broj: 142670
Poruke: 132
*.dialup.neobee.net.

Sajt: ivona.stens-turs.com


Profil

icon Re: Stored procedura sa danima i datumima07.05.2007. u 22:42 - pre 206 meseci
thnx man! It's working
Listen very carefully, I shall say this only once!
 
Odgovor na temu

[es] :: MS SQL :: Stored procedura sa danima i datumima

[ Pregleda: 1945 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.