Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: selecting from an Object View starts a transaction???

Re: selecting from an Object View starts a transaction???

From: Yong Huang <yong321_at_yahoo.com>
Date: 1 Apr 2003 09:56:33 -0800
Message-ID: <b3cb12d6.0304010956.21b0a3fb@posting.google.com>


Hi, Carlo, I can't reproduce. Let me know if I'm not doing it correctly:

SQL> select * from v$version;

BANNER



Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production PL/SQL Release 8.1.6.1.0 - Production
CORE 8.1.6.0.0 Production
TNS for Solaris: Version 8.1.6.0.0 - Production NLSRTL Version 3.4.0.0.0 - Production

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)

  8 )
  9 /

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 )
 11 /

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

 11 FROM BANCHE
 12 /

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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US