drop table Customer
go
CREATE TABLE Customer
(
SID int not null ,--PRIMARY KEY,
ID int not null ,
LastName varchar(30) not null,
FirstName varchar(30)
)
--#新增key值
--ALTER TABLE Customer ADD PRIMARY KEY (SID);
--ALTER TABLE Customer ADD PRIMARY KEY (SID,GroupID);
--刪除key值
ALTER TABLE CustDROP [PK_Cust]
--#建立索引
ALTER TABLE Customer
ADD CONSTRAINT PK_cust PRIMARY KEY (ID,LastName)
--#建立索引
create index idx_xxx on table_name (xxxx,xxxx)
--#新增col
ALTER TABLE Customer ADD TT varchar(10);
SELECT * FROM Customer
--#更改col type
ALTER TABLE Customer ALTER COLUMN TT varchar(40);
--#刪除col
ALTER TABLE Customer DROP COLUMN TT;
SELECT * FROM Customer
--建立一個 LinkedServer 連自已
sp_addlinkedserver @server = 'LOCALSERVER', @srvproduct = '',
@provider = 'SQLOLEDB', @datasrc = @@servername
--透過 Linked Server 來取得 myTable 的資料 (linkedserver.db.schema.table)
SELECT * FROM LOCALSERVER.tempdb.dbo.myTable;
建立好 LinkedServer 後,就可以利用 OPENQUERY 來執行 Execute SQL,如下,
--將Execute的結果建立到暫存的資料表 #tempTable
SELECT *
INTO #myTempTable
FROM OPENQUERY(LOCALSERVER, 'EXEC(''SELECT * FROM LOCALSERVER.tempdb.dbo.myTable;'')');
--取得 #tempTable 的資料
SELECT * FROM #myTempTable;
using (SqlConnection cn = new SqlConnection(connString))
{
cn.Open();
using (SqlBulkCopy sqlBC = new SqlBulkCopy(cn))
{
//設定一個批次量寫入多少筆資料
sqlBC.BatchSize = 1000;
//設定逾時的秒數
sqlBC.BulkCopyTimeout = 60;
//設定要寫入的資料庫
sqlBC.DestinationTableName = "FU_ICRMHR032_API_ACNO";
//對應資料行
sqlBC.ColumnMappings.Add("COL01", "xxx");
//開始寫入
sqlBC.WriteToServer(dt);
}
}
REF
https://dotblogs.com.tw/rainmaker/2015/02/02/148355