这些经常用到的语句,我们应该记得,但是人脑不是电脑,在需要用的时候忘记可能就追悔莫及了,所以将他们一一记录下来,以后用到也有迹可循
1.修改表名:
ALTER TABLE TableName RENAME TO New_TableName;
需要注意的是修改表名后,原来的主键名是不修改的,所以还需要重建一下主键,当然大家有什么好的办法可以告知一下。
2.修改主键:
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,就有可能导致主键约束删了,但是索引没删。如果说你的数据有这样备份还原过的话:
alter table ocs_instanceconfig_cfg drop constraint pk_ocs_instanceconfig;
执行这个语句时,可能导致建主键自带的索引没有删掉,后面的建同样名字的主键时,索引会报错。
需要这样写:
alter table ocs_instanceconfig_cfg drop constraint pk_ocs_instanceconfig cascade drop index
3.删除表:
drop table tableName;
4.删除序列:
drop sequence sequence_name;
5.删除索引:
drop index index_name;
6.建表:
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.建序列:
create sequence sequence_name INCREMENT BY 1 START WITH 1 NOCYCLE CACHE 1000 ORDER;
8.建索引:
CREATE INDEX index_name on table_name(ApplyTime, OriFileName,CBPID);
9.建视图:
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.删视图:
drop view view_name;
11.修改表字段:
alter table table_name modify columun_name VARCHAR2(30);
12.删除表字段:
alter table table_name drop RESERVE6 ;
13.增加一个表字段:
alter table table_name add RESERVE6 VARCHAR2(64);
作者:cxming007 发表于2013-4-20 10:18:52 原文链接
阅读:41 评论:0 查看评论