Sql 插入到。。选择事务性语句?
我是否需要使用事务为以下插入过程提供全部或非命题Sql 插入到。。选择事务性语句?,sql,sql-server,tsql,transactions,Sql,Sql Server,Tsql,Transactions,我是否需要使用事务为以下插入过程提供全部或非命题 INSERT INTO table1 ( column1 , column2) SELECT col1, col2 FROM table2 表2中的平均行数应为150左右,目标数据库为ms sql server 2008 r2。不,不需要。默认情况下,事务中已经存在一条SQL语句,因此无法部分插入结果,也无法同时由另一个事务调节结果。涉及两个表的事实并不会改变使用单个SQL语句的事实。因为不需要简单的插入。 默认情况下,sqlser
INSERT INTO table1 ( column1 , column2)
SELECT col1, col2
FROM table2
表2中的平均行数应为150左右,目标数据库为ms sql server 2008 r2。不,不需要。默认情况下,事务中已经存在一条SQL语句,因此无法部分插入结果,也无法同时由另一个事务调节结果。涉及两个表的事实并不会改变使用单个SQL语句的事实。因为不需要简单的插入。 默认情况下,sqlserver会管理这件事,并在最后提交您所做的一切。 如果您明确希望在执行insert/update的多条语句时,或者希望在单个工作单元中插入父/子语句时,可以将事务用作
tran
declare @parentId int =0;
insert statement ---parent
set @parentId= @@identity
insert statement --child entry
values ( @parentId,...)
If @@ERROR > 0 then
ROLLBACK
else
COMMIT
或者也可以在sqlserver端使用try-catch块作为c#
在没有明确事务的情况下,每个语句在其自己的事务中有效。微软称之为自动提交--