---
title: "Skapa ett antal poster enkelt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/174812-skapa-ett-antal-poster-enkelt"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Lasp"
published: "2008-10-17T15:33:55.000Z"
updated: "2008-10-17T20:06:29.000Z"
replies: 4
views: 478
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/174812-skapa-ett-antal-poster-enkelt"
---

# Skapa ett antal poster enkelt

## #1 — Lasp, 2008-10-17T15:33Z

Jag vill periodisera kostnader för exempelvis billeasing för ett antal bilar.
Om jag då vill skapa exempelvis 12 månadsposter om  4444:- plus moms för varje RegNr.
Hur skriver jag en SQL sats i MsSQL för att det skall gå snabbt och enkelt!

Resultatet skulle då kunna bli:  :h 

ObjCost
CostID	Reg_No	CostDat	Measure	Cost	Vat	Sign	NotDate	Total
1	AAA111	2008-07-25	Leasingavgift	4 444,00 kr	1 111,00 kr	LASP	2008-10-18	5 555,00 kr
2	AAA111	2008-08-25	Leasingavgift	4 444,00 kr	1 111,00 kr	LASP	2008-10-18	5 555,00 kr
3	AAA111	2008-09-25	Leasingavgift	4 444,00 kr	1 111,00 kr	LASP	2008-10-18	5 555,00 kr
4	AAA111	2008-10-25	Leasingavgift	4 444,00 kr	1 111,00 kr	LASP	2008-10-18	5 555,00 kr
5	AAA111	2008-11-25	Leasingavgift	4 444,00 kr	1 111,00 kr	LASP	2008-10-18	5 555,00 kr
6	AAA111	2008-12-25	Leasingavgift	4 444,00 kr	1 111,00 kr	LASP	2008-10-18	5 555,00 kr

Sedan vill jag skriva in ett nytt RegNr och kanske ändra på beloppet så dunka in 6 eller 12 poster igen!    :r   Kan det låta sig göras undrar Lasp  :OO

Bilagor:

- [ObjCost.bmp](https://www.webforum.nu/a/19351.bmp)

Permalänk: https://www.webforum.nu/p/174812

## #2 — überfuzz, 2008-10-17T17:35Z

Du snabbar på databasen om du undviker resudansen du har nu, om det är din tabellstruktur du visar.

ObjCost
id \| post_id \| kanske_fler_kolumner_vad_vet_jag

post_id
CostID \| Reg_No \| CostDat \| Measure \| Cost \| Vat \| Sign \| NotDate \| Total

Edit, nu såg jag att tiden hamnade i det jag kallar post_id, lägg det i ObjCost i stället.

Permalänk: https://www.webforum.nu/p/2150076

## #3 — Lasp, 2008-10-17T19:32Z

Detta är ett utdrag av vad man skall se.
Jag vet att en normalisering skulle kunna vara effektivare.
Men jag är bra på denormalisering. Dvs. alla data för att ta ut snabba rapporter.
Så tabellstrukturen kan fungera.

Permalänk: https://www.webforum.nu/p/2150093

## #4 — Peter S, 2008-10-17T19:47Z

En stored procedure kanske?

```
create procedure sprocCarLease
(
  @numberOfInserts int,
  @beginDate datetime,
  @licensePlateNumber char(6),
  @cost float
)
as
begin
  declare @count int
  declare @currentDate datetime
  declate @vat float
  set @count = @numberOfInserts
  set @currentDate = @beginDate
  set @vat = @cost * 0.25
  while @count > 0
  begin
    insert into
      objcost
    (
      reg_no,
      costdat,
      measure,
      cost,
      vat,
      sign,
      notdate,
      total
    )
    values
    (
      @licensePlateNumber,
      @currentDate,
      'Leasingavgift',
      @cost,
      @vat,
      'LASP',
      getdate(),
      @cost + @vat
    )
    set @currentDate = dateadd(month, 1, @currentDate)
    set @count = @count - 1
  end
end
```

```
execute sprocCarLease 12, '2008-01-25', 'AAA111', 4444.00
```

Otestad dock...

Permalänk: https://www.webforum.nu/p/2150097

## #5 — Lasp, 2008-10-17T20:06Z

Japp så var det löst. Tack

FyFan va häftigt.  :moose 
Hade det inte varit för det missade "r"ét i den sista declare hade jag trott att Peter S varit Gud, eller hans högra hand!  §e 
Jag bugar och bockar. Synd att det är så långt till en gemensam Öl säger Lasp  :birp   :birp   :birp  Må de anlända till strupen vid tillfälle.  :bire

Permalänk: https://www.webforum.nu/p/2150100

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/174812-skapa-ett-antal-poster-enkelt
