oracle数据库的相关使用

来源:互联网 发布:php求职宝典 pdf 下载 编辑:程序博客网 时间:2024/06/14 03:59

1.用Navicat连接Oracle数据库



填写完成后,点下链接测试,成功就可以用了


2.oracle创建一张 id自增,带注释的表的实例

--创建表

create table T_SWEB_WU_HEAD

(

-- COP_ENT_NO字段名,varchar数据类型,20数据长度,CHAR编码方式(CHARBYTE,一般用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 11开始,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

(

--ECUSCUSX_BIZ_REGISTER原表名sceham

SELECT * FROM ECUS.CUSX_BIZ_REGISTER

)

--只读

WITH READ ONLY

 

--赋予权限,需要DBA帐号下如果是在ECUSsceham中,可以不加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 ;



原创粉丝点击