`
hitgnu
  • 浏览: 92270 次
  • 性别: Icon_minigender_1
  • 来自: 苏州-->上海
社区版块
存档分类
最新评论

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;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics