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 ;