Oracle數據庫創建用戶、表空間、表、索引、序列、觸發器

由於公司項目需要,建立以下表及其相關,寫此博客,作爲學習。


文章參考網上其他資料,如有錯誤,接受指正,共同進步。


-- 新建表空間 TS_ZW_DXPT_DATA

create tablespace TS_WZ_PTDX_DATA 
datafile 'ts_wz_ptdx_data_001'
size 10M   
autoextend on next 10M;

其中 datafile:數據文件名、size:大小、autoextend:自動增長大小


-- 新建用戶 zw_dxpt 默認表空間 TS_WZ_PTDX_DATA

create user wz_ptdx identified by "passw0rd" 

default tablespace TS_WZ_PTDX_DATA;


-- 用戶授權

grant create view to wz_ptdx;

  --連接數據庫,資源的權限
grant connect,resource to wz_ptdx
  --無限表空間的權限
grant unlimited tablespace to wz_ptdx
  --會話權限  
grant create session to wz_ptdx;


--wz_ptdx下創建ptdx_submitmsg表

   --number類型長度最大爲38,number相較於int在Oracle中更爲正式,number的第二位不加限制不能保證爲一個整數。
create table wz_ptdx.ptdx_submitmsg(
       id number(20,0) not null,
       from_user varchar2(50) not null,
       check_user varchar2(50) not null,
       to_user varchar2(50) not null,
       receive_group number(10,0),
       msg_title varchar2(100) not null,
       msg_text varchar2(255) not null,
       msg_length number(38,0),
       msg_type number(10,0),
       msg_status number(10,0),
       create_time date default sysdate,
       constraint pk_id1 primary key(id)
)


--ptdx_submitmsg添加註釋

   --添加表註釋:
comment on table wz_ptdx.ptdx_submitmsg IS '提交短信信息表';
   --添加字段註釋:
comment on column wz_ptdx.ptdx_submitmsg.id is 'id 主鍵';
comment on column wz_ptdx.ptdx_submitmsg.from_user is '短信發送者';
comment on column wz_ptdx.ptdx_submitmsg.check_user is '短信審覈者';
comment on column wz_ptdx.ptdx_submitmsg.to_user is '短信接收者';
comment on column wz_ptdx.ptdx_submitmsg.receive_group is '短信接受對象';
comment on column wz_ptdx.ptdx_submitmsg.msg_title is '短信主題';
comment on column wz_ptdx.ptdx_submitmsg.msg_text is '短信內容';
comment on column wz_ptdx.ptdx_submitmsg.msg_length is '短信長度';
comment on column wz_ptdx.ptdx_submitmsg.msg_type is '短信類型';
comment on column wz_ptdx.ptdx_submitmsg.msg_status is '短信狀態';
comment on column wz_ptdx.ptdx_submitmsg.create_time is '短信創建時間';


-- 創建索引
   --Oracle建表時會根據主鍵創建同名索引,無需再次創建索引
-- create index index_ptdx_submitmsg on wz_ptdx.pt
dx_submitmsg(id);


-- 創建序列ptdx_submitmsg_seq

create sequence ptdx_submitmsg_seq
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20;


-- 創建觸發器

create or replace trigger ptdx_submitmsg_tri
before insert on wz_ptdx.ptwz_submitmsg
for each row
begin
select ptdx_submitmsg_seq.nextval into :new.id from dual;
end;

-- Test insert

insert into wz_ptdx.ptdx_submitmsg(from_user,check_user,to_user,receive_group,msg_title,msg_text,msg_length,msg_type,msg_status) 
       values('張三','李四','王五',0,'節日祝福','中秋快樂',100,2,1);

select * from wz_ptdx.ptdx_submitmsg;



Success;
End;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章