Share via


küme ANSI_NULL_DFLT_OFF (Transact-SQL)

Yeni sütunlar, varsayılan null atanabilirlik geçersiz kılmak için oturum davranışını değiştirir,ANSI null varsayılan seçenek veritabanı olan true.Değerini ayarlama hakkında daha fazla bilgi içinANSI null varsayılan, see ALTER DATABASE Transact-SQL)andVeritabanı seçeneklerini ayarlama.

Topic link iconTransact-SQL sözdizimi kuralları

SET ANSI_NULL_DFLT_OFF { ON | OFF }

Remarks

CREATE tablo ve ALTER tablo deyimlerinde sütunun null atanabilirlik belirtilirse bu ayar yalnızca yeni sütun null atanabilirlik etkiler.küme ANSI_NULL_DFLT_OFF ON, olduğunda, varsayılan olarak, ALTER tablo ve CREATE tablo deyimi kullanılarak oluşturulan yeni sütun olan NOT sütun null atanabilirlik durumunu açıkça belirtilmemişse, NULL.küme ANSI_NULL_DFLT_OFF açık bir NULL kullanılarak oluşturulan sütunlar etkileyen veya NOT NULL.

küme ANSI_NULL_DFLT_OFF hem de küme ANSI_NULL_DFLT_ON ON aynı anda ayarlanamıyor.Bir seçeneği açık olarak ayarlanmışsa, başka bir seçeneği kapalı olarak küme.Bu nedenle, ANSI_NULL_DFLT_OFF ya da küme ANSI_NULL_DFLT_ON ON ayarlanabilir veya her ikisi de OFF ayarlayabilirsiniz.Her iki seçeneği ON ise, bu ayar (küme ANSI_NULL_DFLT_OFF veya ANSI_NULL_DFLT_ON küme) etkili olur.Her iki seçenek kapalı, kümeSQL Serverdeğerini kullananis_ansi_null_default_on Katalog görünümü. ms178534(v=sql.100).md sys.databases sütun

Bir daha güvenilir çalışması içinTransact-SQLveritabanları farklı null atanabilirlik ayarları ile kullanılan komut dosyaları olarak daha iyi yapmak her zaman NULL veya NOT NULL CREATE tablo ve ALTER tablo deyimleri.

küme ANSI_NULL_DFLT_OFF ayarını ayarlayın çalıştırmak veya saat ve ayrıştırma saat değil.

İzinler

Üyelik gerektirir Ortak roldür.

Örnekler

Aşağıdaki örnek, etkisini gösterirSET ANSI_NULL_DFLT_OFFiçin her iki ayar ileANSI null varsayılanVeritabanı seçenek.

USE AdventureWorks;
GO

-- Set the 'ANSI null default' database option to true by executing 
-- ALTER DATABASE.
GO
ALTER DATABASE AdventureWorks SET ANSI_NULL_DEFAULT ON;
GO
-- Create table t1.
CREATE TABLE t1 (a TINYINT);
GO
-- NULL INSERT should succeed.
INSERT INTO t1 (a) VALUES (NULL);
GO

-- SET ANSI_NULL_DFLT_OFF to ON and create table t2.
SET ANSI_NULL_DFLT_OFF ON;
GO
CREATE TABLE t2 (a TINYINT);
GO 
-- NULL INSERT should fail.
INSERT INTO t2 (a) VALUES (NULL);
GO

-- SET ANSI_NULL_DFLT_OFF to OFF and create table t3.
SET ANSI_NULL_DFLT_OFF OFF;
GO
CREATE TABLE t3 (a TINYINT) ;
GO 
-- NULL INSERT should succeed.
INSERT INTO t3 (a) VALUES (NULL);
GO

-- This illustrates the effect of having both the database
-- option and SET option disabled.
-- Set the 'ANSI null default' database option to false.
ALTER DATABASE AdventureWorks SET ANSI_NULL_DEFAULT OFF;
GO
-- Create table t4.
CREATE TABLE t4 (a tinyint) ;
GO 
-- NULL INSERT should fail.
INSERT INTO t4 (a) VALUES (null);
GO

-- SET ANSI_NULL_DFLT_OFF to ON and create table t5.
SET ANSI_NULL_DFLT_OFF ON;
GO
CREATE TABLE t5 (a tinyint);
GO 
-- NULL insert should fail.
INSERT INTO t5 (a) VALUES (null);
GO

-- SET ANSI_NULL_DFLT_OFF to OFF and create table t6.
SET ANSI_NULL_DFLT_OFF OFF;
GO
CREATE TABLE t6 (a tinyint); 
GO 
-- NULL insert should fail.
INSERT INTO t6 (a) VALUES (null);
GO

-- Drop tables t1 through t6.
DROP TABLE t1
DROP TABLE t2
DROP TABLE t3
DROP TABLE t4
DROP TABLE t5
DROP TABLE t6