DotNetGnat
Programmer
Guys,
I have the following function in one of my packages.
what i am trying to do here is... exclude the field from the update query if it is null, but i am getting the missing expression error. What am I doing wrong here.
Any suggestions...thanks
-DNG
I have the following function in one of my packages.
Code:
FUNCTION "UPDATE_SITE_TEMPLATE"
(
INROW MYTABLE%ROWTYPE,
blah VARCHAR2
) RETURN MYTABLE%ROWTYPE AS
AROW MYTABLE%ROWTYPE;
BEGIN
AROW := GET_MYTABLE(INROW, blah);
STMT := 'UPDATE TABLE1 SET ';
IF (AROW.field1 IS NOT NULL OR AROW.field1 <> 0) THEN
STMT := STMT || 'field1 =:P1 ';
END IF;
IF (AROW.field2 IS NOT NULL OR AROW.field2 <> 0) THEN
STMT := STMT || ', field2 =:P2 ';
END IF;
IF (AROW.field3 IS NOT NULL OR field3.SIDE <> 0) THEN
STMT := STMT || ', field3 =:P3 ';
END IF;
IF (AROW.field4 IS NOT NULL OR AROW.field4 <> 0) THEN
STMT := STMT || ', field4 =:P4 ';
END IF;
STMT := STMT || ' WHERE field5 =:P5 ';
IF (SUBSTR(STMT, 19,1)=',') THEN
STMT := SUBSTR(STMT, 1, 18) || SUBSTR(STMT, 19);
END IF;
EXECUTE IMMEDIATE STMT USING AROW.field1, AROW.field2,
AROW.field3, ARow.field4,
Arow.field5;
RETURN AROW;
END;
what i am trying to do here is... exclude the field from the update query if it is null, but i am getting the missing expression error. What am I doing wrong here.
Any suggestions...thanks
-DNG