Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, AndrewVK, Вы писали: AVK>Здравствуйте, Sinclair, Вы писали: S>>Во-вторых, всё же всё не настолько плохо, как вы говорите. В новом SQL AVK>Я бы сказал, в "новом". SQL'99, однако, 13 лет уже тому. S>> есть with как способ введения "табличной переменной". AVK>Он уродский. Ввиду старых заскоков они затолкали все это в одно выражение с мутноватыми правилами видимости внутренних имен реляций, что на читабельности сказалось далеко не лучшим образом. Куда проще было ввести, наконец, многострочность на уровне стандарта и сделать как то так: AVK>[sql] AVK>PARAM @Org AS CHAR(3); AVK>DEFINE AVK> SELECT * FROM Users WHERE UserClass='A' AVK> AS Admins; AVK>DEFINE AVK> CASE AVK> WHEN @Org IS NOT NULL THEN AVK> SELECT * FROM Users WHERE Origin=@Org AVK> ELSE AVK> SELECT * FROM Admins; AVK> END AVK>AS OrgAdmins; AVK>SELECT * FROM OrgAdmins; AVK>[/sql] AVK>А так CTE на практике просто на редкость извратный способ получить в запросе ограниченную рекурсию.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …