QUOTED_IDENTIFIER和ANSI_NULLS选项

QUOTED_IDENTIFIER和ANSI_NULLS选项


    在使用SSMS修改存储过程、函数和触发器时,总是在开头部分看到下面的批语句:
    set ANSI_NULLS ON/OFF
    set QUOTED_IDENTIFIER ON/OFF
    GO

我们在定义的时候明明没有包含它们啊,这是怎么回事呢?原来这是两个比较特殊的选项。它们会随着对象一起保存:当创建存储过程、函数、视图、触发器时,SQL SERVER会同时将当时的QUOED_IDENTIFIER和ANSI_NULLS选项值保存到对象中。

系统表sys.sysschobjs是用来保存对象的,这两个选项就保存在status字段中。对存储过程、函数、视图和触发器来说,
1)第18位(从第0位开始)为ANSI_NULLS值,0表示OFF,1表示ON.
2)第19位(从第0位开始)为QUOTED_IDENTIFIER值,0表示OFF,1表示ON.    

我们可以使用OBJECTPROPERTY来查看这两个选项的值,属性名称分别是’ExecIsQuotedIdentOn’和’ExecIsAnsiNullsOn’。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值