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的表只要字段相同,不須要進行類型轉換.
相關文章
相關標籤/搜索