我的表有很多列.我有一个复制一些数据的命令 – 将其视为克隆产品 – 但由于列可能在将来发生变化,我只想从表中选择所有内容,只需更改一列的值而无需参考其余的部分.
例如,而不是:
INSERT INTO MYTABLE ( SELECT NEW_ID,COLUMN_1,COLUMN_2,COLUMN_3,etc FROM MYTABLE)
我想要一些类似的东西
INSERT INTO MYTABLE ( SELECT * {update this,set ID = NEW_ID} FROM MYTABLE)
有一个简单的方法吗?
这是iSeries上的DB2数据库,但欢迎任何平台的答案.
解决方法
你可以这样做:
create table mytable_copy as select * from mytable; update mytable_copy set id=new_id; insert into mytable select * from mytable_copy; drop table mytable_copy;