This content has been marked as final. Show 7 replies
Do the views that show the error have an INSTEAD OF trigger?
Do you still have the 3.0 version available?
If so, please confirm for one of the views that 3.0 works and that 3.1 EA3 does not.
Can you post the DB version and DDL of the affected views to debug?
I'm having the same issue. The issues seems to also exist in the newly release 3.1.
Yes it seems to be related to the instead of trigger.
Is this a known bug?
Here is a testcase to reproduce the issue.
create table mytab as select * from tab;
create table myobjects as select * from user_objects;
create or replace view test_view as
select myobjects.object_id, mytab.tname, mytab.tabtype from mytab, myobjects where mytab.tname=myobjects.object_name group by myobjects.object_id, mytab.tname, mytab.tabtype;
create or replace trigger io_test_view_trg
INSTEAD OF INSERT or UPDATE or DELETE
FOR EACH ROW
if updating then
update mytab set tname=:NEW.tname, TABTYPE=:NEW.TABTYPE where tname=:OLD.tname;
update myobjects set object_name=:NEW.tname where object_name=:OLD.tname;
select * from test_view;
update test_view set tname='1TEST_TABLE' where rownum < 2;
-- Attempting to view TEST_VIEW from SQL Developper fails with
-- ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc.
drop table mytab;
drop table myobjects;
drop view test_view;
The ORA error is ORA-01445. You have it listed as ORA-01446.
I get this when I connect to an 18.104.22.168.0 database with SQL Developer v 3.1.07 Build MAIN-07.42. I'm connecting as sys / SYSDBA; Open up Views; Select either V_SQL or GV_SQL (it's a rac cluster) view; Select the "Data" tab. Is there a fix for this?
Did this issue ever get resolved?
A fix has been identified which should be included in a future release