Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > SET ANSI NULL, область видимости


Автор: lv151 11.4.2013, 10:23
Допустим, в начале процедуры я задаю:

Код

CREATE PROCEDURE Proc1
BEGIN
.....
SET ANSI_NULLS OFF
....
END


SET ANSI NULLS OFF - работает только для кода процедуры.

А если вот так:

Код

SET ANSI_NULLS OFF 
......
CREATE PROCEDURE Proc1
BEGIN
.....
....
END

Автор: Akina 11.4.2013, 10:45
То это команда уровня сеанса.

Автор: lv151 11.4.2013, 13:22
Цитата(Akina @ 11.4.2013,  10:45)
То это команда уровня сеанса.

На что она влияет? т.е. она устанавливает SET ANSI_NULLS для все процедур, которые создаются в сеансе?
Или только для кода который выполняется в сеансе?

Автор: Akina 11.4.2013, 13:30
Цитата(http://msdn.microsoft.com/ru-ru/library/ms188048.aspx)

Important  

In a future version of SQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will generate an error. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.


По остальным вопросам - читать http://msdn.microsoft.com/ru-ru/library/ms190356.aspx.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)