我在 SSMS 中打开一个新窗口并运行以下命令:
SET ANSI_DEFAULTS ON
GO
CREATE PROCEDURE [dbo].[zzz_test2]
(
@a int
)
AS
SET NOCOUNT ON
SET @a=1
RETURN 0
GO
然后关闭窗口,这会导致以下警告:
There are uncommitted transactions. Do you wish to commit these before closing the window?
到底是怎么回事??
当我打开一个新的 SSMS 窗口并运行以下命令时:
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[zzz_test2]
(
@a int
)
AS
SET NOCOUNT ON
SET @a=1
RETURN 0
GO
并关闭窗口,我没有收到任何警告。
As 文档中描述 http://msdn.microsoft.com/en-us/library/ms188340.aspx for ANSI_DEFAULTS
启用 (ON) 时,此选项启用
以下 ISO 设置:
SET ANSI_NULLS
SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ON
SET IMPLICIT_TRANSACTIONS
SET ANSI_PADDING
SET QUOTED_IDENTIFIER
SET ANSI_WARNINGS
据记录here http://msdn.microsoft.com/en-us/library/ms187807.aspx when IMPLICIT_TRANSACTIONS
is on.
自动交易
由于此设置而打开
必须显式提交为 ON
或者最后被用户回滚
交易的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)