Kan man skapa ett visst antal rader i en MSSQL Db via en Stored Procedure. Tex via någon loop eller nått? Du kan använda en while loop t.ex. Men skapas verkligen lika många nya rader nu som Kalle Kula förekommer i tabellen närvaro? <b>Men skapas verkligen lika många nya rader nu som Kalle Kula förekommer i tabellen närvaro? </b> Jag trodde att jag visste precis vad du menade, och det har också Ola svarat på, men sedan började du prata om union... Antingen vet du inte vad man använder union till, eller också menar du någonting helt annat än det du säger... Var inte meningen som ett ifrågasättande mer som en fråga om ni verkligen förstod vad jag menade. Förstod mig nästan inte själv så jag blev väl lite chockad och var tvungen att dubbelkolla. Man får ursäkta.Skapa ett visst antal rader.
    
    
Jag har en tabell som heter närvaro, i den finns följande data tex:
[Namn]      [Datum]
Kalle Kula    050102
Kalle Kula    050103
Kalle Kula    050105
Vad jag nu vill är att kolla hur många gånger Kalle Kula förekommer och sedan skapa så många rader i samma tabell. Tex..
[Namn]      [Datum]
Kalle Kula    050102
Kalle Kula    050103
Kalle Kula    050105
...........nya rader......
Kalle Kula    050102
Kalle Kula    050103
Kalle Kula    050105
Går detta????Sv: Skapa ett visst antal rader.
    
    
declare @n int
set @n=1
WHILE @n<11
BEGIN
  -- kör din grej 10 ggr
  
  set @n = @n+1
END
--men i det här fallet är följande en bättre lösning
--du behöver ingen loop alltså (mycket bättre prestanda..)
INSERT INTO T(Namn,Datum)
SELECT Namn,Datum
WHERE Namn = "Kalle Kula"Sv:Skapa ett visst antal rader.
    
    
Om jag tex har i min SP denna select satts:
SELECT 'Arbetstid' AS Kategori,'Närvaro' AS UnderKat,Namn,NärvaroDatum AS Datum
FROM Närvaro WHERE     (Namn = 'Kalle Kula') And NärvaroDatum BETWEEN 2005-01-01 And 2005-01-30
Så får jag följande resultat:
[Kategori]  [Underkat]  [Namn]      [Datum]
Arbetstid    Närvaro       Kalle Kula   2005-01-01
Arbetstid    Närvaro       Kalle Kula   2005-01-02
Arbetstid    Närvaro       Kalle Kula   2005-01-04
Sen vill jag i samma tabell(resultat) få in via en UNION *tre nya rader (skall baseras på hur många gånger den förekommer i första selecten)
[Kategori]  [Underkat]  [Namn]      [Datum]
Arbetstid    Närvaro       Kalle Kula   2005-01-01
Arbetstid    Närvaro       Kalle Kula   2005-01-02
Arbetstid    Närvaro       Kalle Kula   2005-01-04
Arbetstid    Normtid       Kalle Kula   2005-01-01
Arbetstid    Normtid       Kalle Kula   2005-01-02
Arbetstid    Normtid       Kalle Kula   2005-01-04
Kan tänka mig att det blir någon COUNT för att få fram antal förekomster i första selecten och sedan 
Göra någon INSERT INTO i en ny select satts efter UNION????
Hoppas att ni förstår vad jag menar och vill åstadkomma.
Förslag??Sv: Skapa ett visst antal rader.
    
    
JA...
Prova innan du ifrågasätter..?Sv: Skapa ett visst antal rader.
    
    Sv:Skapa ett visst antal rader.