sql - insert into.. select 语句是事务性的吗?

标签 sql sql-server tsql transactions

后面的insert过程是否需要用transaction来提供all or not proposition?

INSERT INTO table1 ( column1 , column2)
SELECT  col1, col2
FROM    table2  

预计表 2 的平均行数约为 150,目标数据库为 ms sql server 2008 r2。

最佳答案

不,你不需要。默认情况下,单个 SQL 语句已经在一个事务中,因此您无法部分插入结果,或者结果将同时由另一个事务调节。涉及 2 个表的事实不会改变使用单个 SQL 语句的事实。

关于sql - insert into.. select 语句是事务性的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965810/

相关文章:

PHP - 检查转义字符

sql - (未成功)测试Oracle SQL中索引的效果

java - 将自定义 `DataType` 添加到 postgres-enum-typed `Binding` 时,Field 的 `TableField` 发生意外变化

sql - 更改sql中表的方向

sql-server - SQL 中的逗号分隔结果

c# - 在 C# 中将 DataTable 转换为用于 SQL 的 CREATE TABLE + INSERT 脚本

mysql - mySQL 上的 SQL 连接查询帮助

sql - 传递一个表并返回一个表给存储过程或函数?

sql-server - 使用聚合函数在同一张表上进行两次内部连接

sql-server - 如何在SQL Server中使用存储过程创建表