Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Smart Update, How ?
Exclude the rows with "XXX is null" in the cursor definition. Does that
get you what you want ?
HTH, Remco
-----Oorspronkelijk bericht-----
Hello list:
In my cursor loop, I have an update statement, see
below. Now I need to the update only for the field (in
that cursor) that has data in it. (which means when is
null, that field will not be updated).
Is there a smarter way to do this update? I don't know
if DECODE can be used here. at least I don't know how.
Any ideas? Many Thanks
UPDATE KOMP
SET C_INVENTORY_DATE =
Hi Steven,
Van: steven wndy [mailto:wndyu_at_yahoo.com]
Verzonden: dinsdag 12 maart 2002 22:34
Aan: Multiple recipients of list ORACLE-L
Onderwerp: Smart Update, How ?
- Dynamic SQL can do it. But now for many reasons that
I can't use Dynamic SQL in this code. Hard for other
people to maintain
- And I believe use multiple "if XXX is not null then
update ...", this is accomplishable. But that will be
a lot of "if .. then ... update ..." statement.
DECODE(rec_UpdIES.PHYINVENTORYDATE, NULL, NULL,
TO_DATE(rec_UpdIES.PHYINVENTORYDATE, 'YYYYMMDD')),
KFLDC03 = RTRIM(rec_UpdIES.RESPONSIBLEDEPT),
KFLDC24 = RTRIM(rec_UpdIES.COMPBILLCODE),
KFLDA01 = DECODE(RTRIM(rec_UpdIES.DATEINSTALLED),
NULL, NULL, TO_DATE(RTRIM(rec_UpdIES.DATEINSTALLED),
'YYYYMMDD')),
KFLDA04 = DECODE(RTRIM(rec_UpdIES.DATERECEIVED), NULL,
TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD'), 'YYYYMMDD'),
TO_DATE(RTRIM(rec_UpdIES.DATERECEIVED), 'YYYYMMDD')),
KFLDC11 = RTRIM(rec_UpdIES.MAINTPONUMBER),
KFLDC12 = RTRIM(rec_UpdIES.MAINTPOLINE),
KFLDC13 = RTRIM(rec_UpdIES.MAINTRELEASENO),
KFLDC14 = RTRIM(rec_UpdIES.MAINTVENDOR),
GARANTBIS =
TO_DATE(RTRIM(rec_UpdIES.WARRANTYENDDATE),
'YYYYMMDD'),
C_BILLCODE = V_BILLCODE,
ACQUISITIONMODE = rec_UpdIES.OWNERSHIPCODE,
USERCHG = 'RECEIPT',
DATCHG =
TO_CHAR(SYSDATE,'YYYY-MM-DD-HH24.MI.SS')||'.000000'
WHERE in_IDENT = IDENT;
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Wed Mar 13 2002 - 04:23:24 CST
![]() |
![]() |