Рубрика «T-SQL»

Как перевести первые буквы каждого слова предложения в верхний регистр?

Эта задача возникла как осмысленный пример для демонстрации использования скалярных функций, табличных переменных и новых возможностей языка T-SQL. Итак, требуется создать функцию, которая будет делать первую букву каждого слова заглавной, а остальные — строчными. Условия: Слова разделяются единичными пробелами. Количество слов произвольно. Алгоритм: Разбиваем фразу на отдельные слова, которые помещаем в табличную переменную. Делаем первую …

Настройка запросов: предложение IN

Пересказ статьи Arthur Daniels. Query tuning: The IN clause В статье рассматривается предложение IN и другой способ написания аналогичного запроса. Я не собираюсь утверждать, что IN лучше или хуже, чем другие конструкции T-SQL. Я просто хочу продемонстрировать, что он делает.

Остерегайтесь непреднамеренных изменений спецификаций столбца

Пересказ статьи Solomon Rutzky. Beware! Beware of Unintended Changes When Altering Columns! Я не помню, чтобы об этом конкретном поведении было много написано, поэтому полагаю, что могу упомянуть о нем. И хотя это поведение документировано, не думаю, чтобы многие догадывались о таком.

Основы, и использование хинта NOLOCK в SQL Server

Пересказ статьи Esat Erkeç. Essentials and usage of NOLOCK hint in SQL Server Основная идея механизма блокировок в SQL Server состоит в контроле согласованности транзакций. Согласно этому принципу, если процессу требуется выполнить операции вставки, удаления или обновления, ядро SQL Server блокирует строку или строки и не позволяет другим процессам получить доступ к данным до завершения …

Почему не следует использовать SELECT * в рабочих системах (никогда!)

Пересказ статьи Gavin Draper. Why You Shouldn’t Use SELECT * In Production Systems (EVER!) Это не значит, что я никогда не использую операторы SELECT *; обычно я использую их для прямых запросов на стадии разработки. Моё предупреждение относится к их использованию в рабочих системах.

Предотвращение выполнения всего скрипта

Пересказ статьи Solomon Rutzky. Prevent Full Script Execution (Understanding and Using PARSEONLY and NOEXEC) Иногда, работая над SQL-скриптом, мне не нужно выполнять весь написанный код. Например, при разработке сложного скрипта мне требуется тестировать части кода. Зачастую случайные нажатия F5, когда я забываю выделить нужный фрагмент, запускают весь скрипт от начала с нежелательными последствиями.

Новый COUNT в городе

Пересказ статьи Greg Larsen. There is a New COUNT in Town В течение долгого времени мы использовали функцию COUNT(DISTINCT) для подсчета числа строк с уникальными значениями в столбце таблицы. В надвигающемся SQL Server 2019 есть новый способ получения оценки числа уникальных значений строки таблицы. Это делается с помощью функции APPROX_COUNT_DISTINCT(). Эта новая функция не дает …

Когда использовать оператор SELECT…INTO

Пересказ статьи Phil Factor. When to use the SELECT…INTO statement Мы можем использовать SELECT…INTO в SQL Server для создания новой таблицы из табличного источника данных. SQL Server использует атрибуты выражений в списке SELECT для определения структуры новой таблицы. До версии SQL Server 2005 использование SELECT…INTO в рабочем коде считалось плохим стилем (code smell), влияющим на …