SQL用法小集

阅读更多
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;

你可能感兴趣的:(SQL,Oracle,C,C++,C#)