ORACLE修改表列的值
程序员文章站
2024-02-18 13:35:22
...
--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;