不同資料庫匯資料的範例
還蠻常會遇到匯舊資料的工作,紀錄一下以後比較好找 ^^
--匯商品資料表
--使用目的地資料庫跑這語法
--清空目的地資料表的資料
--只匯入上架中商品yn_on='1'
--auto_id是自動編號不能直接匯,要先關掉自動編號的功能,匯完之後再開啟自動編號
--price_welfare是公式計算不能匯,要匯完之後再用update計算
--先把目的地的price_welfare公式拿掉,update跑完後再把公式放回
--此為以目前資料表去做的範例,新購物網有新的欄位,匯的時候需要在加上預設值
use mydbTest
TRUNCATE TABLE mydbTest.dbo.tb02_product
INSERT INTO mydbTest.dbo.tb02_product(sn,auto_id,prod_no,prod_name,[simple],keyword,context,ad_word,forward,characteristic,standards,product_type,pic_l,pic_m,pic_s,url_link,sales_percent,stock_option,stock,GFMS,yn_03,yn_06,yn_09,yn_12,yn_24,yn_36,price,price_03,price_06,price_09,price_12,price_24,price_36,yn_on,yn_hot,click_num,date_post,date_on,date_off,order_type_id,yn_welfare,[uid],date_update,yn_LimitQtyPrd,RemainderQty,EstimateDate,welfareDiscount,TimeLimitPrice,TimeLimitQty,TimeLimitStart,TimeLimitEnd,yn_TimeLimitInstallment,yn_LimitStartCanNotSal,yn_LimitEndCanNotSal,yn_Sale,yn_Search,OnOff_uid,OnOff_update)
SELECT sn,auto_id,prod_no,prod_name,[simple],keyword,context,ad_word,forward,characteristic,standards,product_type,pic_l,pic_m,pic_s,url_link,sales_percent,stock_option,stock,GFMS,yn_03,yn_06,yn_09,yn_12,yn_24,yn_36,price,price_03,price_06,price_09,price_12,price_24,price_36,yn_on,yn_hot,click_num,date_post,date_on,date_off,order_type_id,yn_welfare,[uid],date_update,yn_LimitQtyPrd,RemainderQty,EstimateDate,welfareDiscount,TimeLimitPrice,TimeLimitQty,TimeLimitStart,TimeLimitEnd,yn_TimeLimitInstallment,yn_LimitStartCanNotSal,yn_LimitEndCanNotSal,yn_Sale,yn_Search,OnOff_uid,OnOff_update
FROM mydb.dbo.tb02_product where yn_on='1'
update mydbTest.dbo.tb02_product set price_welfare =round(([price]*[welfareDiscount])/(100),(0))
--計算price_welfare
select max(auto_id) from mydbTest.dbo.tb02_product
--開啟自動編號後增加一筆資料測試看看是不是編號繼續往下編
select top 10 * from mydb.dbo.tb02_product where yn_on='1'
select top 10 * from mydbTest.dbo.tb02_product
--檢查資料是否相符