DB_replace into...select...

咱们在作程序时常常碰到把一个表或多个表里的数据拷贝到另外一个表里(同名字段表结构相同)的状况.这时最好的选择就是用下面的SQL语句了.ide

      INSERT INTO TB_NAME (INSERT_COLS) SELECT SEL_SQLS FROM FR_TBNAME WHERE...
 
注意事项:
1.INSERT_COLS和SEL_SQLS的字段名,字段顺序需相同,字段的结构也必需相同.
  若是字段名不相同能够用别外的形式使其相同,如
INSERT INTO T1(NAME,AGE) SELECT NM AS NAME,AGE FROM T2...
 
2.碰到FROM表里没有字段能够用变量来代替,如:
INSERT INTO T1(NAME,AGE,GENDER) SELECT NAME,? AS AGE , ? AS GENDER
FROM T2....
在实行时传对应的参数来代替?就能够了.
 
** 碰到要插DATE,NUMBER时能够用函数,如
INSERT INTO T1(NAME,BIRTHDAY ,GENDER) SELECT NAME,TO_DATE(?,'YYYY-MM-DD') AS  BIRTHDAY , ? AS GENDER
FROM T2....
 
3.INSERT的表和SELECT的表只要字段相同,不须要进行类型转换.
相关文章
相关标签/搜索