Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Complete boolean eval  [new]
GMSUka
Member

Откуда: Ukraine
Сообщений: 113
Есть в MSSQL 2000 возможность управлять Subj'em.

По умолчанию он не вычисляет выражение до конца.

Интересует именно управление данным параметром
23 июл 05, 14:09    [1730215]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Нету такого, вроде.
А смысл?
23 июл 05, 15:40    [1730246]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
GMSUka
Member

Откуда: Ukraine
Сообщений: 113
Гавриленко Сергей Алексеевич
Нету такого, вроде.
А смысл?


Смысл? Нет смысла. Просто хотелось убедиться, что если я на это буду
рассчитывать, то это не может быть по разному на разных серверах.
23 июл 05, 18:30    [1730334]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
GMSUka
Гавриленко Сергей Алексеевич
Нету такого, вроде.
А смысл?


Смысл? Нет смысла. Просто хотелось убедиться, что если я на это буду
рассчитывать, то это не может быть по разному на разных серверах.

Скажем так, я пока не могу представить ситуацию, в которой разное поведение boolean eval может давать разный результат.
23 июл 05, 18:41    [1730344]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
А почему BIT отображается как -1??? А при преобразовании в INT вроде как равен 1???

P.S. Можно просто Бизик admin@busyman.ru ICQ# 131833549
Картинка с другого сайта.
23 июл 05, 18:50    [1730360]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
BusyMan
А почему BIT отображается как -1??? А при преобразовании в INT вроде как равен 1???

P.S. Можно просто Бизик admin@busyman.ru ICQ# 131833549
Картинка с другого сайта.

Ась? Где это бит отображается как -1?
23 июл 05, 18:51    [1730363]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
GMSUka
Member

Откуда: Ukraine
Сообщений: 113
Гавриленко Сергей Алексеевич
GMSUka
Гавриленко Сергей Алексеевич
Нету такого, вроде.
А смысл?


Смысл? Нет смысла. Просто хотелось убедиться, что если я на это буду
рассчитывать, то это не может быть по разному на разных серверах.

Скажем так, я пока не могу представить ситуацию, в которой разное поведение boolean eval может давать разный результат.



Очень просто
1. IF @Flag=1 AND EXISTS(SELECT .....) INSERT .....

2. IF @Flag=1
IF EXISTS(SELECT .....) INSERT .....

Если CBE в True и @Flag<> 1 То в первом случае на лицо лишнее обращение
к БД которое не нужно.

Но сразу говорю SQL делает по умному он не делает EXISTS
23 июл 05, 19:05    [1730376]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62912
Гавриленко Сергей Алексеевич
GMSUka
Гавриленко Сергей Алексеевич
Нету такого, вроде.
А смысл?


Смысл? Нет смысла. Просто хотелось убедиться, что если я на это буду
рассчитывать, то это не может быть по разному на разных серверах.

Скажем так, я пока не могу представить ситуацию, в которой разное поведение boolean eval может давать разный результат.

Например Func1 or Func2
23 июл 05, 19:08    [1730380]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62912
Забыл добавить функции имеют побочные действия
23 июл 05, 19:09    [1730383]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Anatoly Podgoretsky
Забыл добавить функции имеют побочные действия

Например?
23 июл 05, 19:11    [1730386]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
GMSUka
Гавриленко Сергей Алексеевич
GMSUka
Гавриленко Сергей Алексеевич
Нету такого, вроде.
А смысл?


Смысл? Нет смысла. Просто хотелось убедиться, что если я на это буду
рассчитывать, то это не может быть по разному на разных серверах.

Скажем так, я пока не могу представить ситуацию, в которой разное поведение boolean eval может давать разный результат.



Очень просто
1. IF @Flag=1 AND EXISTS(SELECT .....) INSERT .....

2. IF @Flag=1
IF EXISTS(SELECT .....) INSERT .....

Если CBE в True и @Flag<> 1 То в первом случае на лицо лишнее обращение
к БД которое не нужно.

Но сразу говорю SQL делает по умному он не делает EXISTS

Ну, так если он этого не делает, то какие проблемы?
23 июл 05, 19:13    [1730389]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Гавриленко Сергей Алексеевич
Anatoly Podgoretsky
Забыл добавить функции имеют побочные действия

Например?

Скажем так - по идее, функция никаких данных менять не может (с некоторой оговоркой, конечно, возможность уже нашли). Посему, какой смысл их лишний раз дергать?
23 июл 05, 19:14    [1730391]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62912
Гавриленко Сергей Алексеевич
Anatoly Podgoretsky
Забыл добавить функции имеют побочные действия

Например?

Любые, ведь возможно присвоение значений переменным, вызов внешних функций, программ, что угодно, что даст разный результат. Поэтому надо писать так, что бы не порядок вычислений логического выражения, ни частичность или полность этих вычислений не влияло на результат.
Это относится ко всем языкам программирования, велючая T-SQL
23 июл 05, 19:17    [1730394]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Anatoly Podgoretsky
Гавриленко Сергей Алексеевич
Anatoly Podgoretsky
Забыл добавить функции имеют побочные действия

Например?

Любые, ведь возможно присвоение значений переменным, вызов внешних функций, программ, что угодно, что даст разный результат. Поэтому надо писать так, что бы не порядок вычислений логического выражения, ни частичность или полность этих вычислений не влияло на результат.
Это относится ко всем языкам программирования, велючая T-SQL

В MSSQL нет глобальных переменных.
Менять даные, как я уже говорил, по задумке было нельзя - функции были предназначены, чтобы возвращать результат и не более.
Поэтому можно понять разработчиков, которые сделали eval неполным.
23 июл 05, 19:22    [1730404]     Ответить | Цитировать Сообщить модератору
 Re: Complete boolean eval  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62912
Гавриленко Сергей Алексеевич
В MSSQL нет глобальных переменных.
Менять даные, как я уже говорил, по задумке было нельзя - функции были предназначены, чтобы возвращать результат и не более.
Поэтому можно понять разработчиков, которые сделали eval неполным.

Правильно, но сколько программистов делают вместо функций - функционалы, слабо богу что программисты на T-SQL этому не подвержены.
И хорошо, что есть люди, которые задумываются над исполнением и вычисление логических выражений.
23 июл 05, 19:26    [1730410]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить