海量数据中重复数据的SQLSERVER插入失败的寻找办法

来源:互联网 发布:淘宝买家等级怎么升 编辑:程序博客网 时间:2024/06/05 02:21

海量数据中重复数据的SQLSERVER插入失败的寻找办法:

海量重复数据的SQLSERVER插入失败的寻找办法:
>sqlcmd -E -i c:\bbb.sql -d FY_ERPHH -b >11.txt  bbb.sql为写着insert的脚本

SSMS TOOLS 选中表生成到文件的数据(SSMS Tools ->Generate Insert Statements),稍加改造,改造成INSERT into 语句,
插入50行为一标志,循环执行,直至插入完成,通过
>sqlcmd -E -i c:\bbb.sql -d FY_ERPHH -b >11.txt  bbb.sql为写着insert的脚本  11.txt为记录文件

插入,并出错后停止执行,再逐步插入,直至发现重复的数据。

其实还有更好的方法,就是去除重复数据直接插入

/////////////////////
另ORACLE是区分大小写的,distinct 也是区分的,而SQLSERVER,某些情况下默认是不区分
所以某些情况下在ORACLE里某表是唯一的,但是在SQLSERVER却是不唯一的。

SQLSERVER通过如下语句进行更改:
ALTER DATABASE DBNAME COLLATE Chinese_PRC_CI_AS
Chinese_PRC_CS_AS


bbb.sql 文件你内容类似:
BEGIN TRANSACTION;
INSERT INTO [dbo].[xtm12](xtwpdm,xtwpmc,xtpzgg ,xtysmc,xtwpxh,xtxhlx,xtxhxh,xttxhm,kcjldw,wpxsdj,xtwplj,xttybz,sccplb,wpsxlb1,wpsxlb2,wpsxlb3,wpsxlb4,wpsxlb5,wpsxlb6,wpsxlb7,wpsxlb8,wpsxlb9,wpsxlb10,wpsxlb11,wpsxlb12,wpsxlb13,wpsxlb14,wpsxlb15,wpsxlb16,wpsxlb17,wpsxlb18,wpsxlb19,wpsxlb20,xtwpks,xtwpys,wpzbdm,xtyszb,wpsxlb21,wpsxlb22,wpsxlb23,wpsxlb24,wpsxlb25,wpsxlb26,wpsxlb27,wpsxlb28,wpsxlb29,wpsxlb30,wpsxlb31,wpsxlb32,wpsxlb33,wpsxlb34,wpsxlb35,wpsxlb36,wpsxlb37,wpsxlb38,wpsxlb39,wpsxlb40,xtwphw,xttmlx,xtwldm,wpghjg,xtdywp)
SELECT N'61101112113408', N'精纺圆领翻花男套衫', N'134', N'玫瑰红', N'130cm', N'02', N'208', N'61101112113408', N'JIAN', 0, N' ', N'N', N'NULL', N'8180518', N'F111017', N'2011', N'2011秋', N'0501', N' ', N'80S/4', N'16G', N' ', N' ', N'缺省', N'12001', N'男', N'14001', N'1501', N'16001', N'东昌', N'1801', N'1901', N'20001', N'61101112113408', N'61101112113408134', N'8888', N'02', N'21001', N'通配系列', N'23001', N'套衫', N'2501', N'圆领', N'套衫', N'集团
', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N'1', N'00', 0, N' ' UNION ALL
SELECT N'61101112934401', N'精纺圆领印花男套衫', N'344', N'深紫红', N'95cm', N'02', N'201', N'61101112934401', N'JIAN', 0, N' ', N'N', N'NULL', N'8180561', N'F111100', N'2011', N'2011秋', N'0501', N' ', N'80S/4', N'16G', N' ', N' ', N'缺省', N'12001', N'男', N'14001', N'1501', N'16001', N'东马', N'1801', N'1901', N'20001', N'61101112934401', N'61101112934401344', N'8888', N'02', N'21001', N'时尚系列', N'23001', N'套衫', N'2501', N'圆领', N'套衫', N'集团
', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N' ', N'1', N'00', 0, N' ' 
COMMIT;
RAISERROR (N'[dbo].[YHJ_AA]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT;
GO


0 0
原创粉丝点击