PL/SQL (MOSC)

MOSC Banner

UPDATE table SET ROW = function don't work

edited Dec 14, 2011 2:39AM in PL/SQL (MOSC) 9 commentsAnswered
 I tried to update a table with SET ROW clause equal to a function (that return the same record type).
It's not gonna work.
PL/SQL: ORA-00904: : invalid identifier
It's look like that is not possible to update with a function an entire row.
I prepared i test case. if someone are interested.

CREATE TABLE UPDATE_CHAIN
(
   U_BASE        NUMBER (4),
   U_HIGH        NUMBER (4),
   U_AREA        NUMBER (8),
   U_PAIR        VARCHAR2 (1),
   U_PAIR_TEXT   VARCHAR2 (10)
);

INSERT INTO UPDATE_CHAIN (U_BASE, U_HIGH)
     VALUES (3, 5);

INSERT INTO UPDATE_CHAIN (U_BASE, U_HIGH)
     VALUES (4, 5);

CREATE OR REPLACE FUNCTION F_SET_NEW_ROW (I_ROW IN UPDATE_CHAIN%ROWTYPE)

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don't have a My Oracle Support Community account? Click here to get started.

Category Leaderboard

Top contributors this month

New to My Oracle Support Community? Visit our Welcome Center

MOSC Help Center