Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SET
|
|||
|---|---|---|---|
|
#18+
Всегда с удовольствием пользовался "множественным присваиванием" наподобие Код: plaintext 1. 2. 3. 4. 5. И наконец нарвался. Дело в том, что я наконец сподобился написать небольшую хранимую процедуру. А там такое почему-то не компилируется (причём судя по документации, должно)! В функциях и триггерах всё ОК, а в SP - нет. Я проверял на FP11 и FP10. Я крайне шокирован и недоволен. Сами понимаете, одно дело Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. SELECT INTO, судя по описанию, тоже работать не будет. Я выкручусь через FOR (на самом деле в той ситуации так даже лучше), но... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 22:39 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
У меня такие конструкции в хранимках проходили и в SET и в условиях WHERE. У конструкции имеется недостаток - сильно зависит от данных: 1) SELECT возвращает несколько записей - полный облом; 2) SELECT не возвращает ни одной записи: SET заткнется если, а в левой части переменные объявлены без NULL сравнение в WHERE типа (A,... ) = (NULL, ...) может дать результат, от которого глаз выпадет; 3) SELECT возвращает единственную запись, но одно или несколько полей имеют значение NULL - см. 2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 05:46 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
Нука-нука, что у вас получается при попытке скомпилировать Код: plaintext 1. 2. 3. 4. 5. 6. 7. У меня Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 08:38 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
golsaУ меня такие конструкции в хранимках проходили и в SET и в условиях WHERE. У конструкции имеется недостаток - сильно зависит от данных: 1) SELECT возвращает несколько записей - полный облом; Так и должно быть, и это правильно. Можете пользоваться FETCH FIRST 1 ROW ONLY 2) SELECT не возвращает ни одной записи: SET заткнется если, а в левой части переменные объявлены без NULL Так и должно быть, и это правильно. сравнение в WHERE типа (A,... ) = (NULL, ...) может дать результат, от которого глаз выпадет; Так не должно быть. Можете привести пример? 3) SELECT возвращает единственную запись, но одно или несколько полей имеют значение NULL - см. 2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 08:53 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
Victor MetelitsaSELECT INTO, судя по описанию, тоже работать не будет. SELECT INTO работает в SP, я пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 10:05 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
Спасибо! Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 10:21 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa А там такое почему-то не компилируется (причём судя по документации, должно)! В функциях и триггерах всё ОК, а в SP - нет. Я крайне шокирован и недоволен. SELECT INTO, судя по описанию, тоже работать не будет. Да, есть такая буква. На всех SP. В доке этого нет, достаточно редкий для IBM прокол. SELECT INTO однако работает, согласно доки, тут у них порядок как обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 13:03 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
SET (a,b,c) = VALUES (1,2,3); А на счет WHERE (A,... ) = (NULL, ...) - так это всегда False какое бы значение поле A не имело (в том числе и NULL). Это поведение прописано в доках, но приводит в некоторый ступор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 09:31 |
|
||
|
SET
|
|||
|---|---|---|---|
|
#18+
Оба утверждения неверны. SET (a,b,c) = VALUES (1,2,3) не компилируется внутри SP. а результатом сравнения чего-то с NULL является UNKNOWN, а не FALSE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 10:27 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=136&tid=1605483]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 284ms |
| total: | 425ms |

| 0 / 0 |
