0 / 0 / 0
Регистрация: 21.07.2022
Сообщений: 8
|
||||||||||||||||
1 | ||||||||||||||||
Добавление вычислимого столбца в временную таблицу MS SQL05.10.2023, 09:03. Показов 403. Ответов 7
Добрый день.
Во временную таблицу необходимо вставить вычисляемый столбец с функцией, написанной ранее. При создании вычисляемого столбца с выражением, задаваемым в описании проблем нет. Пример:
Пример.
Вопрос: можно ли задать во временной таблице свою функцию? Если да, то что не так? Функция, на которую ссылка, ниже.
0
|
05.10.2023, 09:03 | |
Ответы с готовыми решениями:
7
Добавление столбца во временную таблицу Не могу удалить временную (#) таблицу в своей сессии (SQL/VB) Добавление столбца в таблицу Добавление столбца в таблицу |
567 / 258 / 114
Регистрация: 12.04.2022
Сообщений: 945
|
|||||||||||
05.10.2023, 11:01 | 2 | ||||||||||
1. Да.
0
|
0 / 0 / 0
Регистрация: 21.07.2022
Сообщений: 8
|
|||||||||||
06.10.2023, 07:56 [ТС] | 3 | ||||||||||
Спасибо. Но всё-равно не работает.
Проверка, что функция видна.
Всё в рамках одной БД, схема у функции задана, при вызове задана. Функция есть, она одна. С чем может быть связана ошибка?
0
|
1032 / 298 / 83
Регистрация: 14.10.2022
Сообщений: 953
|
|
06.10.2023, 08:25 | 4 |
Сообщение было отмечено TimSm как решение
Решение
Да в tempdb твоя функция должна быть. Из другой БД нельзя функцию с вычислимым столбцом ассоциировать.
1
|
0 / 0 / 0
Регистрация: 21.07.2022
Сообщений: 8
|
|
06.10.2023, 08:38 [ТС] | 5 |
Понятно. Спасибо.
0
|
567 / 258 / 114
Регистрация: 12.04.2022
Сообщений: 945
|
||||||
06.10.2023, 09:07 | 6 | |||||
Обратите внимание на первую строчку кода
0
|
10 / 10 / 0
Регистрация: 17.04.2023
Сообщений: 99
|
|
06.10.2023, 16:47 | 7 |
Можно как вариант, вместо временной таблицы запрос обернуть в СТЕ (обобщенное табличное выражение).
0
|
1032 / 298 / 83
Регистрация: 14.10.2022
Сообщений: 953
|
|
06.10.2023, 18:08 | 8 |
А вот не всегда, к сожалению, это можно.
К сожалению, в sqlserver нету указания материализовать CTE. И он будет пытаться оптимизировать это обобщенное табличное выражение "глубоко", и иногда - слишком глубоко. Часто бывает выгодно загнать данные в темповую таблицу, построить в ней индексы, и только потом - считать.
0
|
06.10.2023, 18:08 | |
06.10.2023, 18:08 | |
Помогаю со студенческими работами здесь
8
Добавление столбца в таблицу Добавление столбца в таблицу БД Программное добавление столбца в таблицу Добавление нового столбца в таблицу Добавление нового столбца в таблицу БД Добавление нового столбца в таблицу БД Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |