to be honest, I never was aware of this. there is a create schema command in oracle which can be used to populate a schema in a singe transaction:
create user u identified by u; create user a identified by a; grant create session, create table, create view to u; alter user u quota 1m on users; connect u/u create schema authorization u create table t1 (a number, b varchar2(10)) create view v1 as select * from t1 where a = 1 grant select on v1 to a;
this can be very handy if you want a script ( which creates some tables and views ) to be atomic. if there is an error in your create schema script like:
create schema authorization u create table t1 (a number, b varchar2(10)) create view v1 as select **** from t1 where a = 1 grant select on v1 to a;
… nothing will be created at all. you may fix the script and start over again ( without dropping anything as you would need to do it if you use single create commands ).
this is documented here.