Skip to content

Использование триггера INSTEAD OF для обновления представления

Пересказ статьи 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.

(Представление или функция не является обновляемым, поскольку модификация затрагивает несколько базовых таблиц.)


Я понимал смысл этой ошибки, но был сбит с толку появлением ее в этом конкретном случае. Я обновлял или модифицировал это представление множество раз ранее, так что происходит? Продолжить чтение "Использование триггера INSTEAD OF для обновления представления"
Категории: T-SQL

Сравнение оператора Create Table в SQL Server и Oracle

Пересказ статьи Pablo Echeverria. SQL Server and Oracle Create Table Comparison


Если вы работаете с базами данных, то, вероятно, уже знаете как создать таблицу, определить столбцы, указать типы данных, добавить первичный ключ, внешние ключи и ограничения. Помимо стандартных таблиц и столбцов что другое возможно для таблиц в SQL Server и Oracle? Продолжить чтение "Сравнение оператора Create Table в SQL Server и Oracle"

Работа с представлениями в MySQL

Пересказ статьи Robert Sheldon. Working with MySQL Views


Подобно другим системам управления базами данных, MySQL позволяет вам создавать представления, которые дают возможность пользователям и приложениям получать данные без предоставления им непосредственного доступа к лежащим в основе таблицам. Вы можете думать о представлении как о предварительно определенном запросе, который MySQL выполняет при обращении к представлению. MySQL хранит определение представления как объект базы данных, подобно табличному объекту. Продолжить чтение "Работа с представлениями в MySQL"
Категории: MySQL

Простая параметризация и тривиальные планы - часть 1

Пересказ статьи Paul White. Simple Parameterization and Trivial Plans — Part 1


Это первая часть серии о простой параметризации и тривиальных планах. Эти две функции компиляции тесно связаны и имеют близкие цели. Обе имеют целью производительность и эффективность для рабочих нагрузок, характеризующихся часто поступающими простыми операторами.

Несмотря на слова "простая" и "тривиальные", обе имеют тонкое поведение и детали реализации, которые могут сделать трудным для понимания то, как они работают. Эта серия не ограничивается основами, а концентрируется на менее известных аспектах, которые могут поставить в тупик даже самых опытных специалистов по базам данных. Продолжить чтение "Простая параметризация и тривиальные планы - часть 1"

Переменные SQL в скриптах, функциях, хранимых процедурах, SQLCMD и т.д.

Пересказ статьи Daniel Calbimonte. SQL Variables in Scripts, Functions, Stored Procedures, SQLCMD and More


Как и в любых языках разработки, использование переменных для хранения значений переменных в коде также весьма полезно при работе с СУБД Microsoft SQL Server. Здесь мы рассмотрим различные способы использования переменных при написании кода T-SQL, использовании SSIS, скриптов и т.п.
Мы рассмотрим следующие вопросы, относящиеся к переменным Transact-SQL в SQL Server:

  • Что такое переменные?

  • Что такое типы переменных?

  • Как объявить переменную?

  • Как установить переменную?

  • Зачем использовать переменные?

  • Как использовать переменные в хранимых процедурах?

  • Как использовать переменные в функциях?

  • Как использовать переменные с SQLCMD?

  • Как использовать переменные в скриптах?

  • Как использовать переменные с SSIS?

Продолжить чтение "Переменные SQL в скриптах, функциях, хранимых процедурах, SQLCMD и т.д."
Категории: T-SQL

Пример триггера в SQL Server

Пересказ статьи Daniel Farina. SQL Server Trigger Example


Триггеры являются одними из наименее понимаемыми вещами для новичков в SQL Server. Возможно, это объясняется тем фактом, что они допускают почти всю функциональность, которой обладают хранимые процедуры, что вызывает затруднения неопытных разработчиков при выборе между хранимыми процедурами и триггерами. Продолжить чтение "Пример триггера в SQL Server"
Категории: T-SQL

Работа с таблицами MySQL

Пересказ статьи Robert Sheldon. Working with MySQL tables


Таблицы лежат в сердце любой базы данных MySQL, обеспечивая структуру организации данных и доступа к ним других приложений. Таблицы также помогают обеспечить целостность этих данных. Чем лучше вы поймете, как создавать и модифицировать таблицы, тем легче будет управлять другими объектами базы данных и тем эффективней вы сможете работать с MySQL в целом. Наличие твердого фундамента в виде таблиц поможет вам также строить более эффективные запросы, чтобы вы могли получать требуемые данные (и только их), не снижая производительности базы данных. Продолжить чтение "Работа с таблицами MySQL"
Категории: MySQL

Заполнение столбца SQL Server последовательным номерами без использования identity

Пересказ статьи Greg Robidoux. Populate a SQL Server column with a sequential number not using an identity


Проблема


Есть таблица базы данных, которая уже содержит много данных. Необходимо добавить в эту таблицу новый столбец, который имел бы последовательную нумерацию. Помимо добавления столбца, также необходимо заполнить существующие записи инкрементным счетчиком. Какие для этого имеются варианты?
Продолжить чтение "Заполнение столбца SQL Server последовательным номерами без использования identity"
Категории: T-SQL