Aracılığıyla paylaş


set CURSOR_CLOSE_ON_COMMIT (Transact-SQL)

Davranışını denetleyen Transact-SQL deyimTAMAMLAMA hareket.Bu ayarın varsayılan değeri Kapalı'dır.Sunucu imleçler kapanmaz yani zaman, yürütme bir hareket.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

SET CURSOR_CLOSE_ON_COMMIT { ON | OFF }

Açıklamalar

set CURSOR_CLOSE_ON_COMMIT on olarak ayarlandığında, bu ayar yürütme veya rollback ISO uyumlu tüm açık imleçleri kapatır.set CURSOR_CLOSE_ON_COMMIT kapalı olduğunda, bir işlem tamamlandığında imleç kapalı değil.

Not

Geri alma savepoint_name için bir hareket kaydetme deyimuygulandığında set CURSOR_CLOSE_ON_COMMIT açık açık imleç geri alma üzerinde kapanmaz.

set CURSOR_CLOSE_ON_COMMIT kapalı olduğunda, rollback deyim tam olarak doldurulan değil yalnızca açık zaman uyumsuz imleçleri kapatır.STATİK veya değişiklikler yapıldıktan sonra açılmış olan duyarlı imleçler artık yansıtacaktır verilerin durumunu, değişiklikler geri alınır.

set CURSOR_CLOSE_ON_COMMIT CURSOR_CLOSE_ON_COMMIT veritabanı seçeneği aynı davranışı denetler.CURSOR_CLOSE_ON_COMMIT küme on olduğunda ya da kapalı, o ayar bağlantıda kullanılır.set CURSOR_CLOSE_ON_COMMIT belirtilmediği takdirde, değer is_cursor_close_on_commit_on sütun sys.databases Katalog görünümü için geçerlidir.

SQL Server Yerel istemci ole DB sağlayıcısı için SQL Server ve SQL Server yerel istemci odbc sürücüsü iki küme CURSOR_CLOSE_ON_COMMIT bağlandıklarında off için.DB-Kütüphane yapar otomatik olarak küme CURSOR_CLOSE_ON_COMMIT değeri.

set CURSOR_CLOSE_ON_COMMIT ANSI_DEFAULTS set on olduğunda etkinleştirilir.

set CURSOR_CLOSE_ON_COMMIT ayarını küme yürütmek sırasında veya çalışma saat ve ayrıştırma saatzaman.

İzinler

Üyelik gerektiren ortak rolü.

Örnekler

Aşağıdaki örnek, bir imleç bir hareket tanımlar ve işlem sonra kullanmayı dener.

-- SET CURSOR_CLOSE_ON_COMMIT
-------------------------------------------------------------------------------
SET NOCOUNT ON

CREATE TABLE t1 (
   a INT
)
GO 

INSERT INTO t1 
VALUES (1)
INSERT INTO t1 
VALUES (2)
GO

PRINT '-- SET CURSOR_CLOSE_ON_COMMIT ON'
GO
SET CURSOR_CLOSE_ON_COMMIT ON
GO
PRINT '-- BEGIN TRAN'
BEGIN TRAN
PRINT '-- Declare and open cursor'
DECLARE testcursor CURSOR FOR
SELECT a 
FROM t1
OPEN testcursor
PRINT '-- Commit tran'
COMMIT TRAN
PRINT '-- Try to use cursor'
FETCH NEXT FROM testcursor
CLOSE testcursor
DEALLOCATE testcursor
GO
PRINT '-- SET CURSOR_CLOSE_ON_COMMIT OFF'
GO
SET CURSOR_CLOSE_ON_COMMIT OFF
GO
PRINT '-- BEGIN TRAN'
BEGIN TRAN
PRINT '-- Declare and open cursor'
DECLARE testcursor CURSOR FOR
SELECT a 
FROM t1
OPEN testcursor
PRINT '-- Commit tran'
COMMIT TRAN
PRINT '-- Try to use cursor'
FETCH NEXT FROM testcursor
CLOSE testcursor
DEALLOCATE testcursor
GO
DROP TABLE t1;
GO