欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL用法小集 SQLOracleCC++C# 

程序员文章站 2022-05-29 12:41:22
...
1.更改table schema的字段类型/长度
ALTER TABLE table_name  MODIFY column datatype;
eg(Oracle):
ALTER TABLE R_GLS_GLSX MODIFY grade_chip varchar2(80);
2.新增表的栏位(一句sql只能新增一个栏位,如一表需增多个栏位,需要多句sql)
2.1)ALTER TABLE table_name ADD column datatype;
eg(Oracle):
ALTER TABLE R_GLS_LOCA ADD approver varchar2(20);
2.2) ALTER TABLE table_name ADD column datatype DEFAULT;
eg(Oracle):
ALTER TABLE R_SMS_STKI ADD ito_rear char(1) DEFAULT 'N';
ALTER TABLE R_SMS_STKI ADD recycle_flag char(1) DEFAULT 'N';
3.更改表的栏位的名称
ALTER TABLE table_name  RENAME COLUMN  old_column_name  TO   old_column_name;
eg(Oracle):
ALTER TABLE m_gls_prdt RENAME COLUMN  chip_pos_id TO chp_pos_id;
4.修改某表的key值--首先drop旧有key值约束,确保为key值的栏位NOT NULL,然后再使用新增key值的方式达到最终修改key值的目的。(没有找到可以直接update的方法,此处使用的迂回策略)
例如,Table:C_EQP_LPST 之前是以line为key,需求改变要求以line+floor组合为key。而floor目前是一个允许空值的栏位,所以完整的sql如下:
ALTER TABLE C_EQP_LPST MODIFY floor NOT NULL;
ALTER TABLE C_EQP_LPST DROP CONSTRAINT PK_C_EQP_LPST;
ALTER TABLE C_EQP_LPST ADD CONSTRAINT PK_C_EQP_LPST PRIMARY KEY (line_id,floor) USING INDEX TABLESPACE conf_i;