我有大量必须插入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
答案 0 :(得分:-1)
根据此连接项,这似乎与2012年(在SP2中修复)和2014年(在SP1中修复)中的错误相关, https://connect.microsoft.com/sqlserver/feedback/details/805659/sql-statement-is-nested-too-deeply -