先说一下这两个变量是一个意思,只是它们的作用范围不同
alter database dbTest set ansi_null_default on; -- 这个的作用域是整个SQL Server 数据库!
set set ansi_null_dflt_on on; -- 这个的作用域是当前的连接!
**注意** 这两个变量的名字是不一样的!
例子:
1: create database dbTest;
2: alter database dbTest set ansi_null_default_on off;
3: create table t(x int, y int);
4: insert into t(x,y) values(null,null) ; -- 因为第2步把选项设置为了 off 所以在这里会报错!