Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
Добрый день всем. На ASA 9.0.2.3420 используется СП такого типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Вопрос: почему это происходит? Насколько я знаю, в конструкции типа Код: plaintext Попытка удаления этой таблицы Код: plaintext Кроме этого, разрыв соединения и даже перезапуск сервера результатов не дали. Если это какие-то сознательные изменения в логике работы сервера, то ткните меня, пожалуйста, носом в то место документации, где это описано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 13:23 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
В конструкции типа select * into #tempData не создается никакой таблицы, а идет выборка из таблицы #tempData, которая должна уже существовать. #tempData должна создаваться до вызова вашей процедуры. create table #tempData ....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 14:40 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
Вот выдержка из документации по поводу select ... into: SELECT [ ALL | DISTINCT ] [ row-limitation ] select-list [ INTO { hostvar-list | variable-list | table-name } ] ... INTO table-name This clause is used to create a table and fill it with data. If the table name starts # then it is created as a temporary table. Otherwise, the table is created as a permanent base table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 14:44 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
1. Может повторный вызов процедуры происходит в рамках одной транзакции с первым вызовом (проблема на клиенте) ? 2. А Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 15:29 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
Извиняюсь. INTO не увидел. Пятница. В документации написано, что временные таблицы существуют в пределах compound statement begin end. Процедура это тоже begin end. Я бы явно создавал таблицу вначале процедуры, в конце удалял. Можно еще проверку на существование сделать. И еще(хотя может это и лишнее) переделал бы код, чтобы всегда до конечного end дело доходило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 16:38 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
antandВ конструкции типа select * into #tempData не создается никакой таблицы, а идет выборка из таблицы #tempData, которая должна уже существовать. #tempData должна создаваться до вызова вашей процедуры. create table #tempData ....... ерунда Именно так и создается временная таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 16:41 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
AkniПри вызове этой процедуры очень часто выдается ошибка: элемент #tempData уже существует . На ASA 6.0.4 все работало без проблем. Вопрос: почему это происходит?Ты правильно догадался - изменение логики работы с времянками. Произошло между 7.0.2 и 7.0.3, так что не удивительно что никто уже не помнит этих приколов. :) AkniНасколько я знаю, в конструкции типа Код: plaintext AkniПопытка удаления этой таблицы Код: plaintext AkniКроме этого, разрыв соединения и даже перезапуск сервера результатов не дали. А вот это уже глюк. Видел его пару раз, но не смог его специально повторить. Выглядит так - подключаешься через dbisqlg создаешь и работаешь с сессионой времянкой, закрываешь dbisqlg а в следющей сессии времянка все еще существует. Даже более того, если теперь к базе подключится Централом от десятки, в списке таблиц можно будет увидеть этот самый #tmp! А вот Централ от девятки эту таблицу не видит, но drop table #tmp отрабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 17:28 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
White Owl AkniПри вызове этой процедуры очень часто выдается ошибка: элемент #tempData уже существует . На ASA 6.0.4 все работало без проблем. Вопрос: почему это происходит?Ты правильно догадался - изменение логики работы с времянками. Произошло между 7.0.2 и 7.0.3, так что не удивительно что никто уже не помнит этих приколов. :) помним ! - проблема в области видимости ограниченной в if для нормальной видимости временной таблицы внутри "if" ее надо обязательно декларировать когда-то давно обсуждалось на саппорте Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 17:58 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
Синтаксис Watcom работает без проблем Declare local temporary table ... #temp - это из transact sql мб оно и работает но никогда в ASA не пользовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2007, 19:20 |
|
||
|
ASA 9, Временная таблица
|
|||
|---|---|---|---|
|
#18+
White Owl Времянки больше не принадлежат юзеру. Убери владельца и сможешь убить таблицу. Код: plaintext Всем спасибо большое за комментарии, будем менять код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:23 |
|
||
|
|

start [/forum/topic.php?fid=55&gotonew=1&tid=2012080]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 445ms |

| 0 / 0 |
