Supplement to the HP Neoview SQL Reference Manual (R2.3 SP2)

2 CREATE VIEW Enhancements
For Neoview Release 2.3 Service Pack 2, users can specify the isolation level and the ORDER BY
clause in the SELECT portion of a CREATE VIEW DDL statement.
Previously, Neoview SQL did not allow users to specify isolation level or ORDER BY clauses
during the creation of a view. This meant that users had to add these clauses to every DML
statement that was executed against the created view.
For information about using isolation levels in CREATE VIEW DDL statements, including
command syntax and examples, see “Isolation Level Guidelines” (page 13).
For information about using the ORDER BY clause in CREATE VIEW DDL statements, including
command syntax and examples, see “ORDER BY Clause Guidelines” (page 14).
How to Enable the CREATE VIEW Enhancements
For this Neoview release, the isolation level and ORDER BY features of the CREATE VIEW
enhancements must be enabled by changing the attribute value of these default attributes to ON
before you issue a CREATE VIEW statement:
ALLOW_ISOLATION_LEVEL_IN_CREATE_VIEW
ALLOW_ORDER_BY_IN_CREATE_VIEW
For this release, the Neoview default value for both default attributes is OFF. Contact HP support
to change either default attribute's value to ON.
These default attributes are needed only during the creation of the view and are not needed
when a DML is issued against the view.
Isolation Level Guidelines
The isolation level specified in the CREATE VIEW SELECT statement is implemented when the
view is used in a DML statement.
Isolation Level Syntax
When you specify the isolation level:
Create view V as select ... isolation-level
The isolation-level syntax is:
for [read uncommitted | read committed | repeatable read | serializable] access
For descriptions of these four access options, see the Neoview SQL Reference Manual.
Single Table in a View
Create view v as select * from t for read uncommitted access;
Select * from v;
The SELECT statement reads rows in table t in READ UNCOMMITTED access. The same
behavior would occur with this SELECT statement:
Select * from t for read uncommitted access;
Multiple Tables in a View
Create view v as select * from t1, t2 for serializable access;
Select * from v;
The SELECT statement reads rows in tables t1 and t2 in SERIALIZABLE access. The same
behavior would occur with this SELECT statement:
select * from t1,t2 for serializable access
How to Enable the CREATE VIEW Enhancements 13