ROW statement, which can appear only in the body of a pipelined table function, returns a table row (but not control) to the invoker of the function.
Row (table element) that the function returns to its invoker, represented by an expression whose type is that of the table element.
If the expression is a record variable, it must be explicitly declared with the data type of the table element. It cannot be declared with a data type that is only structurally identical to the element type. For example, if the element type has a name, then the record variable cannot be declared explicitly with
%ROWTYPE or implicitly with
%ROWTYPE in a cursor