Sql – ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc

ora-01446oracleoracle10gsql

Just trying to insert a Row in the Customer table which is not included in the Error Table.

–View

Create View A3_SRC_CUST_VIEW As
Select SRC_CUST_A.*, rowid as row_id From SRC_CUST_A
Union All
Select SRC_CUST_B.*, rowid as row_id From SRC_CUST_B;

— Insert Statement

Insert Customer (DW_CUST_ID, CUSTID, CUSTNAME, CUSTEMAIL, CUSTLOC)
Select  Dw_Cust_Id.Nextval,  v.CID,  v.NAME, v.Email, v.LOC
From CustView v
Where v.rowid Not In
    (Select Source_RowId From A3_Error_Event  Where Filter_Id = 4 );

The error I am getting is ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc.
01446. 00000 – "cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc."

Best Answer

You are selecting rowid instead of row_id from the view.This causes the error.

Related Topic