博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 经常使用的改动语句
阅读量:7125 次
发布时间:2019-06-28

本文共 2241 字,大约阅读时间需要 7 分钟。

一、表Table

測试表:MY_TEST_TABLE

-- Create tablecreate table MY_TEST_TABLE(  A VARCHAR2(30),  B NUMBER(10) default 1,  C DATE)tablespace BOSSWG_CFG  pctfree 10  initrans 1  maxtrans 255  storage  (    initial 64K    minextents 1    maxextents unlimited  );-- Add comments to the table comment on table MY_TEST_TABLE  is 'test';-- Add comments to the columns comment on column MY_TEST_TABLE.A  is 'aaaa';comment on column MY_TEST_TABLE.B  is 'bbbb';comment on column MY_TEST_TABLE.C  is 'cccc';

0.添加字段

alter table MY_TEST_TABLE add D VARCHAR2(50);

-- Add comments to the columns 
comment on column MY_TEST_TABLE.D
  is 'dddddd';

1. 改动表字段名

alter table MY_TEST_TABLE rename column A to D;  //将A字段名改成D

2. 改动表字段类型

alter table MY_TEST_TABLE modify B varchar2(10);  //将B字段的number(10)类型改动为varchar2(10)

3. 改动表字段默认值

alter table MY_TEST_TABLE modify B default 2;  //将B字段的默认值1改成2

4. 改动表字段的非空属性

alter table MY_TEST_TABLE modify B not null;  // 将B字段改成非空

5. 改动表字段的备注

comment on column MY_TEST_TABLE.B   // 改动B字段的备注值

  is 'bbbb2';

6. 主键操作

alter table MY_TEST_TABLE

  add constraint PK_MY_TEST_TABLE primary key (A);  //加入主键

alter table MY_TEST_TABLE

  drop constraint PK_MY_TEST_TABLE cascade;  //删除主键

//假设要改动主键的话。即必须先删除主键,再加入主键。

7.check约束操作

alter table MY_TEST_TABLE                

  add constraint CKC_MY_TEST_TABLE_B           //加入约束
  check (B in(1,2,3));

alter table MY_TEST_TABLE

  drop constraint CKC_MY_TEST_TABLE_B;     //删除约束

//假设要改动约束。则必须先删除约束,再加入约束。

8. 外键操作

alter table MY_TEST_TABLE

  add constraint FK_MY_TEST_DTABLE_A foreign key (A)   //加入外键
  references MY_TEST_TABLE2 (A) on delete cascade;

alter table MY_TEST_TABLE

  drop constraint FK_MY_TEST_DTABLE_A;           //删除外键

//假设要改动外键。必须先删除外键,再加入外键

二、序列SEQ

測试序列:MY_TEST_SEQ

create sequence MY_TEST_SEQminvalue 1maxvalue 9999999999start with 1increment by 1cache 20;

1. 改动minvalue与maxvalue值:

alter sequence MY_TEST_SEQ 

minvalue 20
maxvalue 99999999999;

2. 改动nextvalue值:

alter sequence MY_TEST_SEQ increment by 8 nocache;       //由原来nextvalue值为2。改动为nextvalue值为10
select MY_TEST_SEQ.nextval from dual;
alter sequence MY_TEST_SEQ increment by 1 cache 20;    //这句必须有。不然会重置cache和增长率

alter sequence MY_TEST_SEQ increment by -8 nocache;    //由原来nextvalue值为10,改动为nextvalue值为2

select MY_TEST_SEQ.nextval from dual;
alter sequence MY_TEST_SEQ increment by 1 cache 20;    //这句必须有。不然会重置cache和增长率

转载地址:http://jahel.baihongyu.com/

你可能感兴趣的文章
【人生】不管你挣多少, 钱永远是问题
查看>>
DG备库无法接受主库归档日志之密码文件
查看>>
[bzoj 2555]Substring
查看>>
tab标签
查看>>
ecshop新增银联企业网银支付方式
查看>>
Angular5学习笔记 - 配置NG-ZORRO(八)
查看>>
使用Netty实现HTTP服务器
查看>>
JAVA开发工具eclipse中@author怎么改
查看>>
存储引擎与锁
查看>>
sqlog连接虚拟机mysql服务
查看>>
出错,网页显示不出内容
查看>>
Spring中的后置处理器BeanPostProcessor讲解
查看>>
《FPGA全程进阶---实战演练》第十四章 蜂鸣器操作
查看>>
浅析firmware完整生存和使用流程 【转】
查看>>
《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】
查看>>
MMU介绍【转】
查看>>
构造函数
查看>>
HTML 5 History API的”前生今世”
查看>>
电脑高手常用快捷键
查看>>
杨辉三角形
查看>>