set与sp_dboption的区别

B__Tree 2009-10-16 02:04:32
sp_dboption 'master','ANSI nulls','on'

use master
set ANSI_nulls on
有什么区别


再比如:

sp_dboption 'master','ANSI null default','on'

user master
set ANSI_NULL_DFLT_ON on
有什么区别
...全文
275 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdyyr 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 xman_78tom 的回复:]
sp_dboption 修改数据库选项;set 设置当前会话选项。

如果连接到数据库的会话没有设置某些会话选项,则此会话将使用数据库对此选项的设置。

但如果会话设置了会话选项,会话设置的选项会覆盖数据库选项中对此选项的设置。
例如,即使 sp_dboption 'pubs','ANSI nulls','on' 语句将 pubs 数据库的 ANSI_NULLS 选项设置为 ON。但是,如果在会话中执行 SET ANSI_NULLS OFF,在此会话中 NULL 值间的比较均为 TRUE。

[/Quote]
正解!
dawugui 2009-10-16
  • 打赏
  • 举报
回复
接分.
xman_78tom 2009-10-16
  • 打赏
  • 举报
回复
sp_dboption 修改数据库选项;set 设置当前会话选项。

如果连接到数据库的会话没有设置某些会话选项,则此会话将使用数据库对此选项的设置。

但如果会话设置了会话选项,会话设置的选项会覆盖数据库选项中对此选项的设置。
例如,即使 sp_dboption 'pubs','ANSI nulls','on' 语句将 pubs 数据库的 ANSI_NULLS 选项设置为 ON。但是,如果在会话中执行 SET ANSI_NULLS OFF,在此会话中 NULL 值间的比较均为 TRUE。
yesyesyes 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 rotaxe 的回复:]
顾名思义sp_dboption是该变数据库的设置.
set 只是该变当前会话的设置
[/Quote]

就是这意思
一个是永久
一个是临时
sdhdy 2009-10-16
  • 打赏
  • 举报
回复
没什么区别,写法不同而已。
Rotaxe 2009-10-16
  • 打赏
  • 举报
回复
顾名思义sp_dboption是该变数据库的设置.
set 只是该变当前会话的设置
快乐_石头 2009-10-16
  • 打赏
  • 举报
回复
學習~~
wojiaochenglong 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 b__tree 的回复:]
天天结贴都是没有满意答案,白瞎这100分
[/Quote]
结帖率:0.00%
苍蝇一尥蹶子把你踢晕了吧
SQL77 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 b__tree 的回复:]
高手怎么都不见了,奇了怪了,草!
[/Quote]
我们不是高手,大牛们没出来呢,
华夏小卒 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 b__tree 的回复:]
天天结贴都是没有满意答案,白瞎这100分
[/Quote]

呵呵,有时候还要自己琢磨,自己整明白了,印象会更深
SQL77 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 b__tree 的回复:]
master 换成 学籍数据库好了,不是研究master
[/Quote]
楼主如果你说研究那两个的效果还好理解,只是两种不同的方式实现,研究SET,sp_dboption??不懂
B__Tree 2009-10-16
  • 打赏
  • 举报
回复
天天结贴都是没有满意答案,白瞎这100分
B__Tree 2009-10-16
  • 打赏
  • 举报
回复
高手怎么都不见了,奇了怪了,草!
B__Tree 2009-10-16
  • 打赏
  • 举报
回复
master 换成 学籍数据库好了,不是研究master
SQL77 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 b__tree 的回复:]
你说的是ANSI_NULLS 我说的是set 和存储过程sp_dboption

ANSI_NULLS on where 中 用is null 我也知道,不研究这个,研究set和sp_dboption的区别

[/Quote]
晕,研究什么,sp_dboption过程,set更复杂
navy887 2009-10-16
  • 打赏
  • 举报
回复
不过sp_dboption这个不能在master用的。
B__Tree 2009-10-16
  • 打赏
  • 举报
回复
你说的是ANSI_NULLS 我说的是set 和存储过程sp_dboption

ANSI_NULLS on where 中 用is null 我也知道,不研究这个,研究set和sp_dboption的区别
--小F-- 2009-10-16
  • 打赏
  • 举报
回复
SET CURSOR_CLOSE_ON_COMMIT
控制在提交事务时是否关闭游标。

语法
SET CURSOR_CLOSE_ON_COMMIT { ON | OFF }

注释
当 SET CURSOR_CLOSE_ON_COMMIT 为 ON 时,该设置遵从 SQL-92 标准,在提交或回滚时关闭任何打开的游标。当 SET CURSOR_CLOSE_ON_COMMIT 为 OFF 时,提交事务时不关闭游标。

当 SET CURSOR_CLOSE_ON_COMMIT 为 OFF 时,ROLLBACK 语句将只关闭打开的未完全填充的异步游标。如果回滚修改,在进行修改后打开的 STATIC 或 INSENSITIVE 游标将不再反映数据的状态。

当 SET CURSOR_CLOSE_ON_COMMIT 为 ON 时,ROLLBACK 语句关闭所有打开的游标。当 SET CURSOR_CLOSE_ON_COMMIT 为 OFF 时,ROLLBACK 语句将关闭所有打开的游标,那些被定义为 INSENSITIVE 或 STATIC 的游标除外;但未完全填充的异步 STATIC 游标将关闭。如果回滚修改,在进行修改后打开的 STATIC 或 INSENSITIVE 游标将不再反映数据的状态。

SET CURSOR_CLOSE_ON_COMMIT 控制与 sp_dboption 的 cursor close on commit 数据库选项相同的行为。如果 CURSOR_CLOSE_ON_COMMIT 设置为 ON 或 OFF,则在连接上使用该设置。如果未指定 SET CURSOR_CLOSE_ON_COMMIT,则应用 sp_dboption 的 cursor close on commit 设置。

SQL Server ODBC 驱动程序和用于 SQL Server 的 Microsoft OLE DB 提供程序均在连接时将 CURSOR_CLOSE_ON_COMMIT 设置为 OFF。DB-Library 不自动设置 CURSOR_CLOSE_ON_COMMIT 值。

当 SET ANSI_DEFAULTS 为 ON 时,将启用 SET CURSOR_CLOSE_ON_COMMIT。

SET CURSOR_CLOSE_ON_COMMIT 的设置是在执行或运行时设置,而不是在分析时设置。

权限
SET CURSOR_CLOSE_ON_COMMIT 权限默认授予所有用户。
SQL77 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 b__tree 的回复:]
不是针对ansi_nulls,  'ANSI null default'
set和sp_dboption的区别,sp_dboption 不好使啊
[/Quote]
不能在MASTER和TEMPDB下用
--小F-- 2009-10-16
  • 打赏
  • 举报
回复
sp_dboption
显示或更改数据库选项。不能在 master 或 tempdb 数据库上使用 sp_dboption。向后兼容性支持 sp_dboption。使用 ALTER DATABASE 设置数据库选项。

语法
sp_dboption [ [ @dbname = ] 'database' ]
[ , [ @optname = ] 'option_name' ]
[ , [ @optvalue = ] 'value' ]

参数
[@dbname =] 'database'

在其中设置指定选项的数据库的名称。database 的数据类型为 sysname,默认值为 NULL。

[@optname =] 'option_name'

要设置的选项的名称。没有必要输入完整的选项名称。Microsoft® SQL Server™ 可识别名称中任何独有的部分。如果选项名称包含空格或者关键字,请将选项名称用引号引起来。如果省略此参数,sp_dboption 将列出处于打开状态的选项。option_name 的数据类型为 varchar(35),默认值为 NULL。

[@value =] 'value'

option_name 的新设置。如果省略此参数,sp_dboption 将返回当前设置。value 可以是 true、false、on 或 off。value 的数据类型为 varchar(10),默认值为 NULL。
加载更多回复(6)

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧