Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: selecting from an Object View starts a transaction???
Hi, Carlo, I can't reproduce. Let me know if I'm not doing it correctly:
SQL> select * from v$version;
BANNER
SQL> create table BANCHE
2 (
3 BAN_COD VARCHAR2(11) not null, 4 BAN_DESC VARCHAR2(64), 5 BAN_SPOR VARCHAR2(50), 6 BAN_ABI VARCHAR2(5), 7 BAN_CAB VARCHAR2(5)
Table created.
SQL>
SQL> CREATE OR REPLACE TYPE TBanca AS
2 OBJECT (
3 CodiceABI VARCHAR2(5), 4 CodiceCAB VARCHAR2(5), 5 Codice VARCHAR2(11), 6 Descrizione VARCHAR2(64), 7 Sportello VARCHAR2(50), 8 STATIC FUNCTION InitNew RETURN TBanca, 9 MEMBER PROCEDURE InsertNew (self in TBanca)10 )
Type created.
SQL>
SQL> CREATE OR REPLACE force VIEW V_BANCA
2 OF TBanca 3 WITH OBJECT OID (Codice) 4 AS 5 SELECT 6 BAN_ABI, 7 BAN_CAB, 8 BAN_COD, 9 BAN_DESC, 10 BAN_SPOR
View created.
SQL>
SQL> CREATE OR REPLACE TYPE BODY TBanca AS
2 STATIC FUNCTION InitNew RETURN TBanca is
3 begin
4 return TBanca(NULL,NULL,NULL,NULL,NULL);
5 end;
6 member procedure InsertNew (self in TBanca) is
7 begin
8 insert into v_Banca
9 (CodiceABI,CodiceCAB,Codice,Descrizione,Sportello)
10 values (CodiceABI,CodiceCAB,Codice,Descrizione,Sportello);
11 end;
12 END;
13 /
Type body created.
SQL> select count(*) from v_banca;
COUNT(*)
0
SQL> insert into BANCHE (BAN_COD) values ('abcd');
1 row created.
SQL> commit;
Commit complete.
SQL> select count(*) from v_banca;
COUNT(*)
1
SQL> select sys.dbms_transaction.local_transaction_id from dual;
LOCAL_TRANSACTION_ID
SQL> Yong Huang Received on Tue Apr 01 2003 - 11:56:33 CST
![]() |
![]() |