最近公司项目要用到ORACLE数据库,但我之前没有用过ORACLE数据库做过项目,借这次机会了解一下ORACLE,记录到BLOG上,以备后用。用了两天ORACLE 8i 发现他和SQLServer2000的还是有很大区别的:
1.ORACLE中是以表空间为表的存储容器,SQLServer是以数据库为表的存储容器;
2.ORACLE中没有设定自增列和SQLServer也不太一样,在ORACLE中要设定自增列方法:
在SqlPlus中的操作步骤:
(1).创建序列 (为表创建自增列的值)
CREATE SEQUENCE SEQ_CHRONIC
INCREMENT BY 1
START WITH 1
MAXVALUE 9999999
(2).创建触发器
CREATE OR REPLACE TRIGGER "ORASQ"."CHRONIC_TIRG" BEFORE INSERT ON "ORASQ"."CHRONIC" FOR EACH ROW
BEGIN
select SEQ_CHRONIC.nextval into :new.ID from dual;
END CHRONIC_TIRG;
//BEFORE INSERT 表示在“插入前”触发
//EACH ROW 表示“逐行触发”
//dual 表示是临时表
//禁用触发器
ALTER TRIGGER "ORASQ"."CHRONIC_TIRG" DISABLE
在DBA Studio中的步骤:
(1).找到自己的表空间,在“序列”中创建一个该表的序列;
(2).在“触发器”中创建具体内容:
BEGIN
select seq_CHRONIC.nextval into :new.ID from dual;
END CHRONIC_TIRG;
在“计时”选项卡中,将"插入"和"逐行触发"勾选即可。
删除表中记录的SQL语句:
truncate table chronic;
向表中添加一列的语句
alter table chronic add(fillunit number);//添加chronic表fillunit列
删除表中一列的语句
alter table chronic drop(r5); //删除chronic表的r5列