将大量记录插入SQL Server

时间:2018-01-15 12:37:57

标签: batch-file sql-server-2014 multiple-records

我有大量必须插入SQL Server数据库的记录。它必须插入大约100万条记录。

我是通过运行这个简单的bat脚本来实现的:

ECHO %TIME%
sqlcmd -S "SQLSERVER" -i "C:\Users\name\Desktop\OutPut\Result 
tblAccount.sql"
ECHO %TIME%
Pause

但是一旦我运行脚本,我就会收到以下错误:

  

SQL语句的某些部分嵌套太深。重写查询或将其分解为较小的查询

有没有解决方法如何插入那么多记录?

我有SQL Server 2014 Developer Edition。

通过添加运行

的查询来编辑问题
IF NOT EXISTS (SELECT * FROM [dbo].[tblAccount] 
               WHERE [AccountID] = 117242 
                 AND [TimeStamp] = CAST(N'2013-01-16 05:53:50.490' AS DateTime)) 
BEGIN
    INSERT INTO [dbo].[tblAccount] ([AccountID], [Name], [Comment],[IsMachine],
                                    [UserID], [Prefix], [Action], [Initials],
                                    [Name], [TimeStamp], [Reason], [Iscal]) 
    VALUES (117242, 'blabla', 'The users project)', 1, 
            'val', 39, 'val', 'blabla',
            'blabla', CAST(N'2013-01-16 05:53:50.490' AS DateTime), 'NORMAL', '0')
END

1 个答案:

答案 0 :(得分:-1)

根据此连接项,这似乎与2012年(在SP2中修复)和2014年(在SP1中修复)中的错误相关, https://connect.microsoft.com/sqlserver/feedback/details/805659/sql-statement-is-nested-too-deeply -