我有一个stored procedure会插入大量记录,现在有可能将数据tables并行插入3 ;
table插入100万条记录.table插入150万条记录.table插入500k记录据我所知 - 程序插入一个接一个地发生.
那么如何并行实现加载呢?
我有如下要求.
上面图片的ddl和dml脚本是
CREATE TABLE #example
([CCP_DETAILS_SID] int, [ACCOUNT_GROWTH] int, [PRODUCT_GROWTH] int, [PROJECTION_SALES] numeric(22,6), [PROJECTION_UNITS] numeric(22,6), [PERIOD_SID] int)
;
INSERT INTO #example
([CCP_DETAILS_SID], [ACCOUNT_GROWTH], [PRODUCT_GROWTH], [PROJECTION_SALES], [PROJECTION_UNITS], [PERIOD_SID])
VALUES
(30001, 0, 0, 1505384.695, 18487.25251, 1801),
(30001, 0, 0, 1552809.983, 18695.75536, 1802),
(30001, 0, 0, 1595642.121, 18834.75725, 1803),
(30002, 0, 0, 10000.32, 18834.75725, 1801),
(30002, 0, 0, 1659124.98, 18834.75725, 1802),
(30002, 0, 0, 465859546.6, 18834.75725, 1803)
;
Run Code Online (Sandbox Code Playgroud)
我必须将上面的结果转换为xml格式,如下所示(输出).
ccp_details_sid xml_format_string
30001 <period>
<period_sid period_sid=1801>
<PROJECTION_SALES>1505384.695</PROJECTION_SALES>
<PROJECTION_UNITS>18487.25251<PROJECTION_UNITS>
<ACCOUNT_GROWTH>0</ACCOUNT_GROWTH>
<PRODUCT_GROWTH>0</PRODUCT_GROWTH>
</period_sid>
<period_sid period_sid=1802>
<PROJECTION_SALES>1552809.983</PROJECTION_SALES> …Run Code Online (Sandbox Code Playgroud) 我不明白为什么DATENAME(GETDATE())给出了与DATENAME(2019-02-01)不同的结果当那是今天的日期
SELECT GETDATE(), DATENAME(w, GETDATE()),DATENAME(dw, 2019-02-01)
Run Code Online (Sandbox Code Playgroud)
返回:
2019-02-01 14:51:46.017 Friday Monday<br>
Run Code Online (Sandbox Code Playgroud)
虽然我希望它能回归:
2019-02-01 14:51:46.017 Friday Firday
Run Code Online (Sandbox Code Playgroud) |Rownumber |OldIdassigned |commoncode |
------------------------------------------
| 1 |FLEX |Y2573F102 |
------------------------------------------
| 2 |RCL |Y2573F102 |
------------------------------------------
| 3 |FLEX |Y2573F102 |
------------------------------------------
| 4 |QGEN |N72482123 |
------------------------------------------
| 5 |QGEN |N72482123 |
------------------------------------------
| 6 |QGEN |N72482123 |
------------------------------------------
| 7 |RACE |N72482123 |
------------------------------------------
| 8 |CLB |N22717107 |
------------------------------------------
| 9 |CLB |N22717107 |
------------------------------------------
<b>| 10 |CLB |N22717107 |
Run Code Online (Sandbox Code Playgroud)
我需要根据公共代码和条件删除重复记录 - 如果oldidassigned相同则删除else不删除.
例如Y2573F102有3个重复记录行1,2,3 .... 1,2不需要删除,只有第3行必须删除.