Oracle 经常使用的改动语句
一、表Table
測试表:MY_TEST_TABLE
-- Create table create 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_SEQ minvalue 1 maxvalue 9999999999 start with 1 increment by 1 cache 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和增长率
相关文章
- 【ORACLE】ORA-00245: control file backup operation failed
- oracle数据库高级应用之《自动生成指定表的insert,update,delete语句》
- oracle中查找执行效率低下的SQL
- oracle v$sqlarea 分析SQL语句使用资源情况 确认是否绑定变量
- 查看oracle的sql语句历史记录和锁表的情况
- Oracle trunc()函数的用法
- oracle时间处理
- Oracle 每五千条执行一次的sql语句
- Windows下手动完全卸载Oracle
- Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..
- 《卸甲笔记》-PostgreSQL和Oracle的SQL差异分析之一:外连接
- oracle 锁表、解锁的语句
- Oracle拉进sqlserver表声明的建设
- Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项)
- 关于Oracle数据库审计、诊断文件及跟踪文件操作
- Oracle SQL性能优化篇01-SQL语句执行步骤
- Oracle用户管理的备份与恢复