[b]SQL Server2005 不支持一条insert语句插入多条记录,2008是支持的[/b]
之前在测试一个简单的桌面应用程序时,因为涉及数据库插入操作,所以安装了SQL Server2008 Enterprise 试用版。
事涉一条插入语句:向数据库的一个表中一次性插入200多条数据,如下(数字是随便造的,请忽略):
多次测试都是OK的,然后拿到客户那边(SQL Server2005)运行就不正常了。官方文档中查了半天才发现问题所在:SQL Server2005 不支持一条insert语句插入多条记录,2008是支持的。于是老老实实修改成了一条条插入,好在记录不多,而且使用*.sql脚本基本看不出执行效率上的差距。如果我把这个语句整到了Ibatis中,那就得一番修改了。。。
看来蜗牛还是在地上待得太久了,很少接触SQL Server之类的东东, 被笑话了。。。
另外,测试还是整个基本一致的测试环境为上,要不然糊里糊涂就s了。
之前在测试一个简单的桌面应用程序时,因为涉及数据库插入操作,所以安装了SQL Server2008 Enterprise 试用版。
事涉一条插入语句:向数据库的一个表中一次性插入200多条数据,如下(数字是随便造的,请忽略):
...
INSERT INTO table
VALUES
(0, 0 ,0)
(0, 0 ,0)
(0, 0 ,0)
(0, 0 ,0)
...
...多次测试都是OK的,然后拿到客户那边(SQL Server2005)运行就不正常了。官方文档中查了半天才发现问题所在:SQL Server2005 不支持一条insert语句插入多条记录,2008是支持的。于是老老实实修改成了一条条插入,好在记录不多,而且使用*.sql脚本基本看不出执行效率上的差距。如果我把这个语句整到了Ibatis中,那就得一番修改了。。。
看来蜗牛还是在地上待得太久了,很少接触SQL Server之类的东东, 被笑话了。。。
另外,测试还是整个基本一致的测试环境为上,要不然糊里糊涂就s了。
讨论了在使用SQLServer2008和SQLServer2005时遇到的问题,特别是关于一次插入多条记录的插入语句在两个版本中的差异。通过调整代码实现,最终确保了跨不同数据库版本的兼容性和稳定性。
149

被折叠的 条评论
为什么被折叠?



