проверка существования временной таблицы #608334


#0 by gosn1ck
есть ли такое? так как мне их уничтожить надо, а их в менеджере может и не быть... один запрос собирается в зависимости от разных галок
#1 by Лоботряс
если не будет то ругнется
#2 by butterbean
уничтожь менеджер
#3 by Maxus43
потом проверяй. коли истина то мочи
#4 by Лоботряс
а что мешает уничтожение ВТ поставить в зависимость от "разных галок"
#5 by gosn1ck
галок много и история покрыта тайной а как уничтожить менеджер?
#6 by gosn1ck
переинициализировать?
#7 by Maxus43
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
#8 by ShoGUN
Юзайте пакетные запросы, там всё понятно, какие таблицы есть, каких нету...
#9 by gosn1ck
дык их и юзаю
#10 by Рэйв
и пох какие там таблицы
#11 by Maxus43
зачем вобще? памяти не хватает?) и где используется смотря, некоторые сущности сами уничтожаются, например при выходе из процедуры
#12 by Рэйв
Они при повторном запуске вылетают в ошибку если не очищать
#13 by ShoGUN
Ну и уничтожай в конце пакетного запроса все созданные ВТ, я всегда так пишу.
#14 by Maxus43
это если запрос хранится гденить. перед формированием запроса нет запрос = Новый Запрос;? там уже уничтожаются менеджеры при переинициализации Запроса
#15 by ShoGUN
Другой вопрос, если они тебе нужны, но не припомню, чтобы мне надо было менеджер ВТ куда-то передавать...
#16 by Рэйв
Неа... Они висят и грозно ругаются на существование6-)
#17 by Maxus43
Не верю :) в обработке кнопка, там пакетный запрос с ВТ. 10 раз нажал на кнопку - ничо нигде не ругается. ЧЯДНТ?
#18 by ShoGUN
Уничтожай ВТ в конце запроса.
#19 by ShoGUN
Менеджер временных таблиц не создаёшь?
#20 by Рэйв
Так мы и рассматриваем вариант если не уничтожать:-)
#21 by Рэйв
а ты ее не очищай, закрой обработку и запусти снова
#22 by Лоботряс
У него запрос динамический, сборный
#23 by ShoGUN
Вот в этом месте надо бы уточнить, набуя. Они же ВРЕМЕННЫЕ таблицы, нафиг из хранить?
#24 by Maxus43
нафиг создавать менеджер если запрос пакетный? кого не очищай? ВТ? не очищаю никогда.
#25 by Рэйв
Да никто не хочет хранить.просто забыл уничтожить и вуаля
#26 by Рэйв
а..Ну ели без создания менеджера то может быть
#27 by ShoGUN
И чо?
#28 by ShoGUN
Ты спросил, я цитирую: "ЧЯДНТ?". Я ответил :) Менеджер ВТ действительно создавать незачем.
#29 by gosn1ck
спасибо. проблему решил :) вариантов решения много, прошу по пустякам не спорить
#30 by Лоботряс
Ну то есть он типа не знает какие ВТ у него создаются
#31 by ShoGUN
А в текст запроса их ему astral.dll подставляет?
#32 by Лоботряс
Поэтому все в конце удалить не может, а написать удалять сразу после использования видимо влом
#33 by ShoGUN
Если запрос формируется динамически - ничто не мешает сохранить все имена добавляемых ВТ на пример в массив и в конце в текст добавить их уничтожение.
#34 by ShoGUN
* на пример => например
#35 by Лоботряс
Только лень матушка
#36 by Лоботряс
Вот кстати заинтересовался вопросом, а есть ли смысл действительно уничтожать ВТ В КОНЦЕ пакетного запроса. Я имею ввиду именно в конце, а не сразу по окончании использования(с этим понятно - для экономии памяти). И именно в пакетном запросе без использования менеджера временных таблиц. Ведь все же так делают? Я, например, тоже так всегда делал. А в литературе написано "временные таблицы, которые были созданы во время исполнения какого-либо запроса, будут существовать до окончания исполнения всего пакета запроса". Т.е. получается все ВТ уничтожаются автоматически, и смысла прописывать это специально - нет?
#37 by ShoGUN
Проще проверить.
#38 by Лоботряс
Как?
#39 by ShoGUN
Запросом к tempdb.INFORMATION_SCHEMA, например?
#40 by Лоботряс
Я к сожалению в такие дебри работы с SQL не лазил. Это через Query Analyzer?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С