当前位置:数据库 > Oracle >>

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);  
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,