天天看點

oracle資料庫的使用

1.用Navicat連接配接Oracle資料庫

填寫完成後,點下連結測試,成功就可以用了

2.oracle建立一張 id自增,帶注釋的表的執行個體

--建立表

create table T_SWEB_WU_HEAD

(

-- COP_ENT_NO字段名,varchar資料類型,20資料長度,CHAR編碼方式(CHAR和BYTE,一般用CHAR), NULL可以為空,NOT NULL不能為空

id NUMBER(16) not null,

COP_ENT_NO varchar(20 CHAR) NULL ,

TRADE_CODE varchar(10 CHAR) null,

primary key (id) –設定id為主鍵

);

 

 

--建立注釋 T_SWEB_WU_HEAD表名,企業物料表頭:注釋

COMMENT ON table T_SWEB_WU_HEAD IS '企業物料表頭';

comment on column T_SWEB_WU_HEAD.id is 'id';

comment on column T_SWEB_WU_HEAD.COP_ENT_NO is '企業内部編号';

comment on column T_SWEB_WU_HEAD.TRADE_CODE is '經營機關編碼';

 

--建立序列(序列的目的是為了實作id自增,通過觸發器來實作)

-- SEQ_SWEB_WU_HEAD_ID序列名,start with 1從1開始,increment by 1每次加1

CREATE SEQUENCE SEQ_SWEB_WU_HEAD_ID start with 1 increment by 1;

 

--建立觸發器 TRIGGER_SWEB_WU_HEAD觸發器名字,T_SWEB_WU_HEAD表名,SEQ_SWEB_WU_HEAD_ID序列名

Before:進行操作動作的之前或之後  insert進行的操作動作,一般都是插入的時候觸發


create or replace trigger TRIGGER_SWEB_WU_HEAD     

before insert on T_SWEB_WU_HEAD       

for each row       

begin       

select SEQ_SWEB_WU_HEAD_ID.nextval into :new.id from dual;

end ;   

 


--添加資料測試id是否自增      

insert into T_SWEB_WU_HEAD(COP_ENT_NO)  values ('19900618003');    

insert into T_SWEB_WU_HEAD(COP_ENT_NO)  values ('19900618004');  

--送出

commit;             

3.視圖

--建立視圖 CUSX_BIZ_REGISTER視圖名,一般預設和原表名相同

CREATE OR REPLACE FORCE VIEW CUSX_BIZ_REGISTER

AS

(

--ECUS為CUSX_BIZ_REGISTER(原表名)的sceham

SELECT * FROM ECUS.CUSX_BIZ_REGISTER

)

--隻讀

WITH READ ONLY

 

--賦予權限,需要DBA帳号下,如果是在ECUS的sceham中,可以不加ECUS

grant select on ECUS.CUSX_BIZ_REGISTER to SWGD;

 

--查詢視圖,直接查詢視圖名

SELECT * FROM CUSX_BIZ_REGISTER;           

視圖的使用也非常簡單,就把它當作一張表一樣來查,一般都是用做查詢

4.序列

--查詢目前序列的值

select 序列名.currval from dual

--查詢序列的下一個值

SELECT SEQ_SWGD_FORM_HEAD_ID.NEXTVAL FROM DUAL;

--删除序列
drop sequence SEQ_SWGD_FORM_LIST_ID;
--删除觸發器
drop trigger TRIGGER_SWGD_FORM_LIST ;