Skip to content

Обзор оператора sp_helptext

Пересказ статьи Nisarg Upadhyay. An overview of the sp_helptext statement


В этой статье вы узнаете об операторе (хранимой процедуре) sp_helptext. Я покажу различные примеры его использования и пару альтернатив.

Оператор sp_helptext используется для просмотра определения следующих объектов базы данных.


Продолжить чтение "Обзор оператора sp_helptext"
Категории: T-SQL

Что такое материализованное представление, и зачем его использовать?

Пересказ статьи Nahla Davies. What is a Materialized View and Why Should you Use It?


По мере роста объема данных все больше разработчиков обращаются к материализованным представлениям для обработки запросов. Этот подход имеет много возможностей.

В этой статье рассматривается понятие материализованного представления, его условий и тех преимуществ, которое оно дает пользователям. Вы также поймете разницу между представлением и материализованным представлением, и как получить выгоду от использования материализованного представления, если вы этого еще не делали.
Продолжить чтение "Что такое материализованное представление, и зачем его использовать?"

Еще больше удовольствия с арифметикой DATETIME!

Пересказ статьи Eitan Blumin. Even more fun with DATETIME arithmetics!


В одной из предыдущих публикаций я привел способ использования "математики" для манипуляции со значениями типа datetime с целью эффективной генерации, вычислений и отображения интервалов (т.е. разницы между двумя значениями datetime). Они, главным образом, работают с операторами сложения и вычитания (+, -).
Продолжить чтение "Еще больше удовольствия с арифметикой DATETIME!"
Категории: T-SQL

Получите удовольствие от арифметики с DATETIME

Пересказ статьи Eitan Blumin. Fun with DATETIME Arithmetics


Нулевое значение


Тип данных datetime имеет "нулевое значение", которое представляется как 1900-01-01 00:00:00.

Оно может быть представлено литеральным значением 0. Проверим:


Продолжить чтение "Получите удовольствие от арифметики с DATETIME"
Категории: T-SQL

Внешние ключи, блокировка и конфликты обновления

Пересказ статьи Paul White. Foreign Keys, Blocking, and Update Conflicts


Большинство баз данных должны использовать внешние ключи для поддержания ссылочной целостности (RI), где это возможно. Однако есть еще кое-что, влияющее на это решение, чем просто решить использовать ограничения FK и создать их. Чтобы ваша база данных работала как можно более гладко, необходимо учесть ряд факторов.

Продолжить чтение "Внешние ключи, блокировка и конфликты обновления"

Условные DELETE и INSERT в PostgreSQL

Пересказ статьи sabyda. Conditional DELETE and INSERT in PostgreSQL


Введение


Мы уверенно чувствуем себя, вставляя/удаляя записи в/из таблицы. Но иногда испытываем затруднения, когда требуется вставлять или удалять записи из таблицы при некоторых условиях. Давайте рассмотрим пример.

Сценарий примера


Предположим, что у нас имеется таблица с именем ALL_EMPLOYEES, которая содержит всю информацию о сотрудниках, кто работает или когда либо работал в компании. Пусть у нас также есть таблица SEP_EMPLOYEES, которая содержит информацию о тех сотрудниках, кто ушел из компании. Теперь компании нужно очистить свою базу данных от информации о всех ушедших сотрудниках в таблице ALL_EMPLOYEES. В этом случае нам потребуется выполнить условное удаление из таблицы ALL_EMPLOYEES.
Продолжить чтение "Условные DELETE и INSERT в PostgreSQL"

Плохие привычки: злоупотребление столбцами типа bit

Пересказ статьи Aaron Bertrand. Bad Habits: Abusing bit columns


Я просматриваю много кода DDL от различных команд, и часто встречаю такое:

ALTER TABLE dbo.Widgets ADD IsNotCertified bit NULL;

Когда я вижу битовый столбец, допускающий NULL-значения, то всегда спрашиваю:

Вы намеренно хотите использовать здесь трехзначную логику?
Означает ли NULL что-то отличное от 0, или весь будущий код будет использовать COALESCE, чтобы сравнивать NULL с нулем?

Продолжить чтение "Плохие привычки: злоупотребление столбцами типа bit"
Категории: T-SQL

SQL FLOAT: 3 пункта, которые помогут избежать странных математических ошибок

Пересказ статьи Edwin Sanchez. SQL FLOAT: 3 Points that Will Help you to Avoid Weird Math Errors


Думали ли вы когда-нибудь, что SQL может ошибиться в математике? Это звучит невероятно. Однако, если вы используете тип данных FLOAT, то можете столкнуться с проблемами, которые я вам продемонстрирую.
Продолжить чтение "SQL FLOAT: 3 пункта, которые помогут избежать странных математических ошибок"
Категории: T-SQL

Новости за 2021-11-13 - 2021-11-19

§ Axocopan и Kursist приложили голову к усилению проверки задачи 88 (SELECT, рейтинг).


§ Под номером 161 на обучающий этап выставлена новая задача от Kursist (сложность 2 балла).


Продолжить чтение "Новости за 2021-11-13 - 2021-11-19"

Столбцы аудита

Пересказ статьи Kenneth Fisher. Audit Columns


Один из самых простых способов сбора информации о работе с таблицей - добавить в таблицу набор столбцов аудита. Общепринятый набор состоит из четырех столбцов.

  • Когда была создана строка?

  • Кто её создал?

  • Когда строка последний раз обновлялась?

  • Кто последним обновил её?


Продолжить чтение "Столбцы аудита"
Категории: T-SQL

Есть ли польза от удаления временной таблицы в хранимой процедуре?

Пересказ статьи Chad Callihan. Is Dropping a Temp Table in a Stored Procedure Beneficial?


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