by Alexey Knyazev
2. декабря 2011 23:08
Ещё один вопрос, который регулярно появляется на тематических форумах:
"Как получить максимум из нескольких колонок одной таблицы?".
Любую задачу можно решить несколькими способами, эта не исключение. Я попытался собрать несколько вариантов для решения этого вопроса в этой заметке для разных версий SQL Server.
Кроме того, проведу небольшие замеры производительности всех рассмотренных примеров.
Буду рад, если вы предложите ещё несколько вариантов решения этой задачи и с удовольствием дополню эту статью позже.
[Ещё]
by Alexey Knyazev
1. ноября 2011 23:36
Собственно проблема озвучена в тебе этого поста. Если у вас на рабочей станции при двойном клике по файлам с расширением *.sql загружается новый экземпляр SSMS (SQL Server Management Studio), вместо того, чтобы открыть файл в новой вкладке уже открытой студии, то эта заметка для вас.
[Ещё]
by Alexey Knyazev
21. октября 2011 01:08
by Alexey Knyazev
25. сентября 2011 00:32
Прежде, чем я расскажу о проблемах с которыми вы можете столкнуться при использовании временных таблиц, немного теории.
Временные таблицы отличаются от постоянных только тем, что хранятся в базе данных
tempdb и автоматически удаляются, когда необходимость в них отпадает.
Существует два вида временных таблиц: локальные и глобальные. Они отличаются друг от друга именами, видимостью и доступностью. Имена локальных временных таблиц начинаются с одного символа (#); они видны только текущему соединению пользователя и удаляются, когда пользователь отключается от экземпляра SQL Server. Имена глобальных таблиц начинаются с двух символов номера (##); они видны любому пользователю и удаляются, когда все пользователи, которые на них ссылаются, отключаются от экземпляра SQL Server.
Например, если создать таблицу employees, она будет доступна любому пользователю, которому предоставлены разрешения на ее использование до тех пор, пока не будет удалена. Если во время сеанса базы данных создается локальная временная таблица
#employees, с ней сможет работать только данный сеанс. Таблица будет удалена при завершении сеанса. Если создать глобальную временную таблицу
##employees, с ней сможет работать любой пользователь базы данных. Если другие пользователи не будут работать с этой таблицей, она будет удалена после отключения от нее. Если другой пользователь обратится к созданной таблице, SQL Server удалит ее, когда произойдет отключение и другие сеансы перестанут активно к ней обращаться.
[Ещё]