在Oracle數據庫創建腳本中如何初始化某些表


Sample

 

表空間:IMPTEMP

表:Roles 、Users

 

通過PL/SQL導出的數據庫腳本

-----------------------------------------------------
-- Export file for user IMPTEMP                    --
-- Created by Administrator on 2010-1-29, 14:14:25 --
-----------------------------------------------------

spool sample.log

prompt
prompt Creating table ROLES
prompt ====================
prompt
create table IMPTEMP.ROLES
(
  ROLENAME NVARCHAR2(50) not null,
  ROLEXML  NCLOB
)
tablespace IMPTEMP
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table IMPTEMP.ROLES
  add constraint ROLES_PRIMARY_KEY primary key (ROLENAME)
  using index
  tablespace IMPTEMP
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

prompt
prompt Creating table USERS
prompt ====================
prompt
create table IMPTEMP.USERS
(
  USERID   NVARCHAR2(50) not null,
  USERNAME NVARCHAR2(50),
  ROLENAME NVARCHAR2(50),
  PASSWORD NVARCHAR2(50),
  USERXML  NCLOB,
  USERDN   NVARCHAR2(100),
  ISLOCAL  NUMBER(1)
)
tablespace IMPTEMP
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
comment on column IMPTEMP.USERS.ISLOCAL
  is '0-ISNOTLOCAL  :  1-ISLOCAL';
alter table IMPTEMP.USERS
  add constraint USERS_PRIMARY_KEY primary key (USERID)
  using index
  tablespace IMPTEMP
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );


spool off

 

現在要為Users表初始化一條userid為“admin”的人員,為Roles表初始化一條rolename為‘超級管理員’的角色,修改腳本如下:

-----------------------------------------------------
-- Export file for user IMPTEMP                    --
-- Created by Administrator on 2010-1-29, 14:14:25 --
-----------------------------------------------------

spool sample.log

prompt
prompt Creating table ROLES
prompt ====================
prompt
create table IMPTEMP.ROLES
(
  ROLENAME NVARCHAR2(50) not null,
  ROLEXML  NCLOB
)
tablespace IMPTEMP
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table IMPTEMP.ROLES
  add constraint ROLES_PRIMARY_KEY primary key (ROLENAME)
  using index
  tablespace IMPTEMP
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );


insert into IMPTEMP.ROLES t values('超級管理員','<?xml version="1.0" encoding="GBK"?><RoleInfo><RoleName>超級管理員</RoleName><RightList><Right>顯示任務</Right><Right>查看配置</Right><Right>查看資源</Right><Right>節目流程管理</Right><Right>任務操作</Right><Right>Interplay資源發送</Right><Right>Interplay資源刪除</Right><Right>創建ISIS Workspace</Right><Right>刪除ISIS Workspace</Right><Right>基本配置</Right><Right>用戶與角色</Right><Right>模板定義</Right><Right>設備工位</Right><Right>系統服務</Right><Right>多點登錄</Right><Right>送審送播</Right></RightList></RoleInfo>');

prompt
prompt Creating table USERS
prompt ====================
prompt
create table IMPTEMP.USERS
(
  USERID   NVARCHAR2(50) not null,
  USERNAME NVARCHAR2(50),
  ROLENAME NVARCHAR2(50),
  PASSWORD NVARCHAR2(50),
  USERXML  NCLOB,
  USERDN   NVARCHAR2(100),
  ISLOCAL  NUMBER(1)
)
tablespace IMPTEMP
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
comment on column IMPTEMP.USERS.ISLOCAL
  is '0-ISNOTLOCAL  :  1-ISLOCAL';
alter table IMPTEMP.USERS
  add constraint USERS_PRIMARY_KEY primary key (USERID)
  using index
  tablespace IMPTEMP
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

insert into IMPTEMP.USERS t values('admin','admin','超級管理員','admin','<?xml version="1.0" encoding="GBK"?><UserInfo><UserID>admin</UserID><ExtraInfo></ExtraInfo></UserInfo>','','0');
spool off

 

此處需要說明的是,插入語句與平時使用的sql語句一樣,唯一不同的是需要在語句最后加分號“;”,否則該句不會被執行。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com