Avatar billede fennec Nybegynder
03. april 2007 - 15:37 Der er 1 løsning

ASP update løkke til SP

Jeg har denne ASP kode som jeg gerne vil have lavet til en Stored Procedure:

sql = "select b.*, ((TILSLUTTETKVARTAL1+TILSLUTTETKVARTAL2+TILSLUTTETKVARTAL3+TILSLUTTETKVARTAL4)/4)*TILSLUTTETFAKTOR as gen, dk.LXBENUMMER "&_
    "from BUDGET b inner join Projects p on p.id=b.caseID "&_
    "inner join DEBKART d on d.konto=p.custID "&_
    "inner join DEBKVARTAL dk on dk.konto=p.custID "&_
    "where b.id>=6342 and b.id <=10406 and b.lockedId is null and d.dataset='DAT' "&_
    "and dk.dataset='DAT' and dk.XR=2007 "&_
    "order by b.id "
set oRs = oConn.execute(sql)
while not oRs.eof
    gen = round(cDbl(oRs("gen")),2)
    sql = "update BUDGET set timer="& DBnum(gen) &", lockedID="& DBNum(oRs("LXBENUMMER")) &", "&_
        "totalK="& DBNum(gen*cDbl(oRs("KostP"))) &", totalS="& DBNum(gen*cDbl(oRs("SalgP"))) &" "&_
        "where id="& oRs("id")
    oConn.execute(sql)
    oRs.MoveNext
wend

DBNum funktionen formatere bare kommatal fra 1,2 til 1.2

I bund og grund finder jeg bare et timegennemsnit og skal så have opdateret budgetlinjer med det antal og beregne en ny kost/salg.

Hvem kan klare den??
Avatar billede fennec Nybegynder
03. april 2007 - 15:56 #1
Never mind. Jeg fik den lavet selv :o)

CREATE PROCEDURE Test1 AS

declare cursor1 cursor for
select b.id, b.SalgP, b.KostP, ((TILSLUTTETKVARTAL1+TILSLUTTETKVARTAL2+TILSLUTTETKVARTAL3+TILSLUTTETKVARTAL4)/4)*TILSLUTTETFAKTOR as gen,
dk.LXBENUMMER
from BUDGET b inner join Projects p on p.id=b.caseID
inner join DEBKART d on d.konto=p.custID
inner join DEBKVARTAL dk on dk.konto=p.custID
where b.id>=6342 and b.id <=10406 and b.lockedId is null and d.dataset='DAT'
and dk.dataset='DAT' and dk.XR=2007
order by b.id

declare @gen decimal(18,2), @LXB int, @kost decimal(18,2), @salg decimal(18,2), @id int
open cursor1

FETCH NEXT FROM cursor1
INTO @id, @salg, @kost, @gen, @LXB

WHILE @@FETCH_STATUS = 0
BEGIN
  update BUDGET set timer=@gen, lockedID=@LXB,
  totalK=@gen*@kost, totalS=@gen*@salg
  where id=@id
  FETCH NEXT FROM cursor1
  INTO @id, @salg, @kost, @gen, @LXB
end

close cursor1
DEALLOCATE cursor1
GO

.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester