Пересказ статьи Chad Callihan. Using INSTEAD OF Trigger to Update View
Недавно я столкнулся со странной проблемой, и мне подумалось, что это может стать отличным постом в блоге. Мне сообщили о стандартном процессе в приложении, который завершался неудачно со следующей ошибкой SQL:
Msg 4405, Level 16, State 1, Line 19
View or function ‘XXXXX’ is not updatable because the modification affects multiple base tables.
(Представление или функция не является обновляемым, поскольку модификация затрагивает несколько базовых таблиц.)
Я понимал смысл этой ошибки, но был сбит с толку появлением ее в этом конкретном случае. Я обновлял или модифицировал это представление множество раз ранее, так что происходит?
Continue reading "Использование триггера INSTEAD OF для обновления представления"
Пересказ статьи Pablo Echeverria. SQL Server and Oracle Create Table Comparison
Если вы работаете с базами данных, то, вероятно, уже знаете как создать таблицу, определить столбцы, указать типы данных, добавить первичный ключ, внешние ключи и ограничения. Помимо стандартных таблиц и столбцов что другое возможно для таблиц в SQL Server и Oracle?
Continue reading "Сравнение оператора Create Table в SQL Server и Oracle"
Пересказ статьи Paul White. Simple Parameterization and Trivial Plans — Part 1
Это первая часть серии о простой параметризации и тривиальных планах. Эти две функции компиляции тесно связаны и имеют близкие цели. Обе имеют целью производительность и эффективность для рабочих нагрузок, характеризующихся часто поступающими простыми операторами.
Несмотря на слова "простая" и "тривиальные", обе имеют тонкое поведение и детали реализации, которые могут сделать трудным для понимания то, как они работают. Эта серия не ограничивается основами, а концентрируется на менее известных аспектах, которые могут поставить в тупик даже самых опытных специалистов по базам данных.
Continue reading "Простая параметризация и тривиальные планы - часть 1"
Пересказ статьи Daniel Calbimonte. SQL Variables in Scripts, Functions, Stored Procedures, SQLCMD and More
Как и в любых языках разработки, использование переменных для хранения значений переменных в коде также весьма полезно при работе с СУБД Microsoft SQL Server. Здесь мы рассмотрим различные способы использования переменных при написании кода T-SQL, использовании SSIS, скриптов и т.п.
Мы рассмотрим следующие вопросы, относящиеся к переменным Transact-SQL в SQL Server:
- Что такое переменные?
- Что такое типы переменных?
- Как объявить переменную?
- Как установить переменную?
- Зачем использовать переменные?
- Как использовать переменные в хранимых процедурах?
- Как использовать переменные в функциях?
- Как использовать переменные с SQLCMD?
- Как использовать переменные в скриптах?
- Как использовать переменные с SSIS?
Continue reading "Переменные SQL в скриптах, функциях, хранимых процедурах, SQLCMD и т.д."
Пересказ статьи Daniel Farina. SQL Server Trigger Example
Триггеры являются одними из наименее понимаемыми вещами для новичков в SQL Server. Возможно, это объясняется тем фактом, что они допускают почти всю функциональность, которой обладают хранимые процедуры, что вызывает затруднения неопытных разработчиков при выборе между хранимыми процедурами и триггерами.
Continue reading "Пример триггера в SQL Server"
Пересказ статьи Greg Robidoux. Populate a SQL Server column with a sequential number not using an identity
Проблема
Есть таблица базы данных, которая уже содержит много данных. Необходимо добавить в эту таблицу новый столбец, который имел бы последовательную нумерацию. Помимо добавления столбца, также необходимо заполнить существующие записи инкрементным счетчиком. Какие для этого имеются варианты?
Continue reading "Заполнение столбца SQL Server последовательным номерами без использования identity"