ORACLE修改表列的值

--fz_t_ref_card 表名

--bikepile_id 要修改的列

--TEMP_ROWNAME 临时列名,用于存储数据(因为oracle修改时会弹出不能修改非空列)

ALTER TABLE fz_t_ref_card RENAME COLUMN bikepile_id TO TEMP_ROWNAME;

ALTER TABLE fz_t_ref_card ADD bikepile_no NUMBER(18);
-- Add comments to the columns
comment on column fz_t_ref_card.bikepile_no
  is '车桩编号';
UPDATE fz_t_ref_card rc
   SET rc.BIKEPILE_NO =
       (select tb.bikepile_no
          from fz_t_bikepile_manager tb
         where tb.bikepile_id = rc.TEMP_ROWNAME);
ALTER TABLE fz_t_ref_card DROP COLUMN TEMP_ROWNAME;

猜你喜欢

转载自wuxiangqian.iteye.com/blog/1442866
今日推荐