Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

ORACLE 你应该知道的语句

$
0
0

这些经常用到的语句,我们应该记得,但是人脑不是电脑,在需要用的时候忘记可能就追悔莫及了,所以将他们一一记录下来,以后用到也有迹可循

 

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 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>