powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / вычисляемые поля
2 сообщений из 2, страница 1 из 1
вычисляемые поля
    #32066777
nandji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть табличка типа

Код: plaintext
1.
2.
3.
Т (
цена
количество
цена * количество as сумма)


так вот при апдейте цены или количества в профайлере вижу

Код: plaintext
1.
update Т set сумма = цена * количество 


то бишь сумма вычисляемое поле и мы его считаем и сохраняем, но ...

при селекте вижу

Код: plaintext
1.
select цена * количество as сумма from T


то бишь сумма вычисляемое поле и мы его считаем и выбираем

непонятно .... зачем его тогда сохранять ?
есть догадка --для того чтобы вычисляемое поле можно было использовать в триггере то бишь обратиться к нему, использовать в вычислениях.

тогда зачем при селекте его считать ?
опять же есть догадка -- посчитать быстрее и не нагружаем ИО.

Знающие Люди объясните плиз че к чему и в чем фишка.
Спасибо.
...
Рейтинг: 0 / 0
вычисляемые поля
    #32066843
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю почему Profiler так себя ведет, но BOL говорит, что
"A computed column is a virtual column not physically stored in the table.

A computed column cannot be the target of an INSERT or UPDATE statement.
"

А наличие значения для вычисляемого поля в триггере по-моему связано с deterministic/none deterministic самого выражения.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / вычисляемые поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]