SQL Server 2005:使用单个查询插入多行
发布时间:2020-12-12 06:56:51 所属栏目:MsSql教程 来源:网络整理
导读:这应该是一个相当简单的问题,但是我还没有在网上找到一个坚实的答案。我试图在同一个表中插入多行,但只有一个语句。我在线看到的最流行的是以下内容,但我已经看到它只适用于SQL Server 2008: INSERT INTO Table (Name,Location) VALUES('Name1','Location
这应该是一个相当简单的问题,但是我还没有在网上找到一个坚实的答案。我试图在同一个表中插入多行,但只有一个语句。我在线看到的最流行的是以下内容,但我已经看到它只适用于SQL Server 2008:
INSERT INTO Table (Name,Location) VALUES ('Name1','Location1'),('Name2','Location2'),('Name3','Location3'),etc... 我喜欢这种方法,如果它可以使用SQL Server 2005,但我不认为它会。另一个选项,从我所看到的,与INSERT之后的UNION ALL的以下SELECT语句有关,这似乎很笨重。有没有人知道在2005年做最好的语法? 谢谢。 解决方法是的。您必须在SQL Server 2005中使用UNION ALLs在单个语句中的SQL脚本中插入多行。INSERT INTO Table (Name,Location) SELECT 'Name1','Location1' UNION ALL SELECT 'Name2','Location2' UNION ALL SELECT 'Name3','Location3' 另一个主要的替代方法是重复Insert语句多次,这是更详细的。在最后一种情况下,您需要小心使用显式交易,以避免许多单个提交的开销(当然是原子性原因) 如果您有很多行要插入,则可以使用BULK INSERT从一个语句中的分隔文件中加载它。 最后,如果这是数据库中您正在脚本编写的数据(可能在其他服务器上部署),则SSMS Tools Pack插件具有“生成插入语句”功能,可以为您生成这些语句。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 对缺少索引的SQL Server索引创建的想法
- redhat下apache+php+mysql+imap+ldap+jdk+tomcat
- sql-server – 在sql server中用“<”和“>”替换
- SQLServer中Datetime类型数据的比较
- sql-server – 如何验证Windows集群以前是否已成
- 寻找T-SQL脚本来删除SQL作业
- SQLSERVER2008R2密码忘记的解决办法
- sql-server – 删除所有(1200万)记录后SQL Serve
- MySQL配置文件my.cnf中文详解附mysql性能优化方法
- sql-server – 从.NET可以获得由SqlCommand对象生
热点阅读