webForumDet fria alternativet

Update +1 om serial ej finns

3 svar · 180 visningar · startad av SteveP

StevePMedlem sedan mars 2003772 inlägg
#1

Hur skulle koden se ut om man vill göra en update på 5 olika fält
t ex

User
Org
Client
Serial
Sequence

Men om Serial redan har ett värde så ska updaten enbart göras på dessa 4:a

User
Org
Client
Sequence

Serial är inget värde man manuelt kan ändra utan om det inte finns nåt värde i Serial kolumnen för den valda posten så ska den plussa på 1 mer än det högsta serialvärdet för alla poster med det specifika kontaktID't. Men finns det redan ett värde i serial kolumnen för den valda posten så ska inte serial kolumnen uppdateras.

LarsGMedlem sedan dec. 200012 464 inlägg
#2
update t
set serial case when serial is null then 4711 else serial end,
user = 'x',org='y',client='z',sequence ='w' where id = 12
StevePMedlem sedan mars 2003772 inlägg
#3

Får felet Incorrect syntax near the Keyword 'Case'

UPDATE	tblLCPFiles

SET	
	Serial case when Serial is null then 5564 else Serial end,
	OrgID = @frmClient,
	ContactID = @frmPartner,
	SubCode = @frmSubCode,
	FileTypeID = @frmFileType,
	Description = @frmDescription,
	OpenDate = @frmOpenDate,
	CloseDate = @frmCloseDate,
	LocationID = @frmLocation,
	OfficeList = @frmOffice,
	LCPBoxID = @frmLCPArchiveBox,
	OldFileRef = @frmOldReference
StevePMedlem sedan mars 2003772 inlägg
#4

Jag tror du missade ett '='

Nu funkar det varjefall.
Tack!

UPDATE	tblLCPFiles

SET	
	
	OrgID = @frmClient,
	ContactID = @frmPartner,
	SubCode = @frmSubCode,
	FileTypeID = @frmFileType,
	Description = @frmDescription,
	OpenDate = @frmOpenDate,
	CloseDate = @frmCloseDate,
	LocationID = @frmLocation,
	OfficeList = @frmOffice,
	LCPBoxID = @frmLCPArchiveBox,
	OldFileRef = @frmOldReference,
	Serial = 
	Case 
	        when Serial is Null
	        then 1000
	        Else Serial
	end
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)