ORACLE你应该知道的语句
ORACLE你应该知道的语句
这些经常用到的语句,我们应该记得,但是人脑不是电脑,在需要用的时候忘记可能就追悔莫及了,所以将他们一一记录下来,以后用到也有迹可循
1.修改表名:
[sql]
ALTER TABLE TableName RENAME TO New_TableName;
需要注意的是修改表名后,原来的主键名是不修改的,所以还需要重建一下主键,当然大家有什么好的办法可以告知一下。
2.修改主键:
[sql]
alter table ocs_instanceconfig_cfg drop constraint pk_ocs_instanceconfig;
alter table ocs_instanceconfig_cfg add constraint pk_ocs_instanceconfig_cfg primary key(CONFIGTYPE, TENANTID, MODULEID, CATALOGITEM, PARAMNAME);
需要注意的是,在使用备份的dmp的导入的数据库时,有可能将约束和索引的关联关系丢失了,如果删除索引不加添加cascade drop index,就有可能导致主键约束删了,但是索引没删。如果说你的数据有这样备份还原过的话:
[sql]
alter table ocs_instanceconfig_cfg drop constraint pk_ocs_instanceconfig;
执行这个语句时,可能导致建主键自带的索引没有删掉,后面的建同样名字的主键时,索引会报错。
需要这样写:
[sql]
alter table ocs_instanceconfig_cfg drop constraint pk_ocs_instanceconfig cascade drop index
3.删除表:
[sql]
drop table tableName;
4.删除序列:
[sql]
drop sequence sequence_name;
5.删除索引:
[sql]
drop index index_name;
6.建表:
[sql]
CREATE TABLE ocs_instanceconfig_def
(
CONFIGTYPE NUMBER(10) NOT NULL,
TENANTID NUMBER(10) DEFAULT 0 NOT NULL,
MODULEID VARCHAR2(64) NOT NULL,
CATALOGITEM VARCHAR2(128) NOT NULL,
PARAMNAME VARCHAR2(128) NOT NULL,
PARAMVALUE VARCHAR2(512),
REMARK VARCHAR2(2048),
CREDATE DATE,
LASTUPDDATE DATE,
CONSTRAINT PK_ocs_instanceconfig_def PRIMARY KEY (CONFIGTYPE, TENANTID, MODULEID, CATALOGITEM, PARAMNAME)
);
7.建序列:
[sql]
create sequence sequence_name INCREMENT BY 1 START WITH 1 NOCYCLE CACHE 1000 ORDER;
8.建索引:
[sql]
CREATE INDEX index_name on table_name(ApplyTime, OriFileName,CBPID);
9.建视图:
[sql]
CREATE VIEW
view_name(CONFIGTYPE,TENANTID, MODULEID, CATALOGITEM,PARAMNAME,PARAMVALUE,REMARK,CREDATE,LASTUPDDATE) AS
SELECT
B.CONFIGTYPE,
B.TENANTID,
B.MODULEID,
B.CATALOGITEM,
B.PARAMNAME,
B.PARAMVALUE,
B.REMARK,
B.CREDATE,
B.LASTUPDDATE
FROM
table_name B
UNION
SELECT
A.CONFIGTYPE,
A.TENANTID,
A.MODULEID,
A.CATALOGITEM,
A.PARAMNAME,
A.PARAMVALUE,
A.REMARK,
A.CREDATE,
A.LASTUPDDATE
FROM
table_name A
where (A.MODULEID,A.CATALOGITEM,A.PARAMNAME) NOT IN (select B.MODULEID,B.CATALOGITEM,B.PARAMNAME from table_name B);
10.删视图:
[sql]
drop view view_name;
11.修改表字段:
[sql]
alter table table_name modify columun_name VARCHAR2(30);
12.删除表字段:
[sql]
alter table table_name drop RESERVE6 ;
13.增加一个表字段:
[sql]
alter table table_name add RESERVE6 VARCHAR2(64);