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