Subscribe Twitter
Показаны сообщения с ярлыком BestPractice. Показать все сообщения
Показаны сообщения с ярлыком BestPractice. Показать все сообщения

BestPractice - не используйте * в представлениях (view)!


Не первый раз с таким сталкиваемся и будем сталкиваться вновь, пока не отменят SQL :) Дело в том, что использование * во вьюшке зачастую приводит к проблемам, причем довольно забавным. Например, если изменить порядок полей таблицы на которой основана вьюшка, то при запросе
select * from myview
вы рискуете в поле A получить значения из поля B и наоборот :) То же происходит при добавлении новых полей - вы их просто не увидите. А если удалите поле - тут уж вьюшка просто сломается. Это связано с тем, что метаданные вьюшки (наименования столбцов) не обновляются сами по-себе, а столбцы в запрос берутся не по имени, а по-порядку

Решение1:
Самым верным решением является отказ от использования *

Решение2:
Регулярно использовать sp_refreshview, но это костыли