Vraag : SQL COMPUTER-AIDED SOFTWARE ENGINEERING MET ALS

ik kan niet schijnen om de correcte syntaxis hier te vinden. Ik heb een curseur die een waarde voor een gebiedsvraag @ACCATNUM terugwint. Zijn waarden zullen tussen 31 en 36 zijn. Ik wil een verklaring van het COMPUTER-AIDED SOFTWARE ENGINEERING hebben die dan de waarden van 6 andere gebieden afhankelijk van de waarde van dit gebied zal berekenen. Wat is hier de correcte syntaxis?
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
FETCH DAARNA VAN GetJobLinkerCurs IN @JOBNUMBER, @TRANSNMBR, @MASTERTYPE, @MASTERID, @MASTERNAME, @DEBITAMT, @CRDTAMNT, @VCHRNMBR, @DOCTYPE, @DOCDATE, @POSTDATE, @DOCNUMBR, @DOCAMNT, @TRXDSCRN, @DOCSOURCE, @ACTNUMST, @ACCATNUM
	TERWIJL (@@FETCH_STATUS = 0)
	BEGIN
	
		/* breek bedragen in categorieën */
		SELECTEER COMPUTER-AIDED SOFTWARE ENGINEERING @ACCATNUM
			WANNEER 31 TOEN ALS @DOCTYPE IN (1.2.3) TOEN @LABORAMT = @LABORAMT + @DEBITAMT ANDERS @LABORAMT = @LABORAMT - @CRDTAMNT BEËINDIG
			WANNEER 32 TOEN ALS @DOCTYPE IN (1.2.3) TOEN @MATLAMNT = @MATLAMNT + @DEBITAMT ANDERS @MATLAMNT = @MATLAMNT - @CRDTAMNT BEËINDIG
			WANNEER 33 TOEN ALS @DOCTYPE IN (1.2.3) TOEN @DELIVAMT = @DELIVAMT + @DEBITAMT ANDERS @DELIVAMT = @DELIVAMT - @CRDTAMNT BEËINDIG
			WANNEER 34 TOEN ALS @DOCTYPE IN (1.2.3) TOEN @OUTSVCAMT = @OUTSVCAMT + @DEBITAMT ANDERS @OUTSVCAMT = @OUTSVCAMT - @CRDTAMNT BEËINDIG
			WANNEER 35 TOEN ALS @DOCTYPE IN (1.2.3) TOEN @MISCAMNT = @MISCAMNT + @DEBITAMT ANDERS @MISCAMNT = @MISCAMNT - @CRDTAMNT BEËINDIG
			WANNEER 36 TOEN ALS @DOCTYPE IN (1.2.3) TOEN @CIASAMNT = @CIASAMNT + @DEBITAMT ANDERS @CIASAMNT = @CIASAMNT - @CRDTAMNT BEËINDIG
		EIND

Antwoord : SQL COMPUTER-AIDED SOFTWARE ENGINEERING MET ALS

U kunt geen geval gebruiken hier, is het geval geen redirector van het verklaringsblok als in sommige talen.
Het is zuiver gebruikt als voorwaardelijke uitdrukking.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
HAAL DAARNA VAN GetJobLinkerCurs IN @JOBNUMBER, @TRANSNMBR, @MASTERTYPE, @MASTERID, @MASTERNAME, @DEBITAMT,
@CRDTAMNT, @VCHRNMBR, @DOCTYPE, @DOCDATE, @POSTDATE, @DOCNUMBR, @DOCAMNT, @TRXDSCRN, @DOCSOURCE, @ACTNUMST, @ACCATNUM
	TERWIJL (@@FETCH_STATUS = 0)
	BEGIN
	
		/* breek bedragen in categorieën */
ALS @ACCATNUM=31
	DE REEKS @LABORAMT = COMPUTER-AIDED SOFTWARE ENGINEERING WANNEER @DOCTYPE IN (1.2.3) TOEN @LABORAMT + @DEBITAMT ANDERS @LABORAMT - @CRDTAMNT BEËINDIG
ALS @ACCATNUM=32
	DE REEKS @MATLAMNT = COMPUTER-AIDED SOFTWARE ENGINEERING WANNEER @DOCTYPE IN (1.2.3) TOEN @MATLAMNT + @DEBITAMT ANDERS @MATLAMNT - @CRDTAMNT BEËINDIG
. .etc
Andere oplossingen  
 
programming4us programming4us