【发布时间】:2018-01-15 12:37:56
【问题描述】:
我有大量的记录必须插入到 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 开发人员版。
通过添加我正在运行的查询来编辑问题
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
【问题讨论】:
-
该错误与您尝试插入的记录数无关,但与 tblAccount.sql 脚本中的 INSERT 查询有关。如果您不与解释一起分享,那么我们将无能为力
-
我必须不同意你的观点,因为当我使用少量记录运行脚本时,它运行良好。但它的所有记录都失败了
标签: batch-file sql-server-2014 multiple-records