Published on

September 29, 2025

Изучение SQL Server Copilot: Пользовательские функции и хранимые процедуры

В этой статье мы продолжим изучение возможностей Copilot, расширения в Azure Data Studio, которое предоставляет предложения и помощь в разработке SQL Server. В частности, мы сосредоточимся на том, как Copilot может помочь в создании пользовательских функций и хранимых процедур.

Пользовательские функции

Давайте начнем с создания пользовательской функции, которая возвращает электронную почту пользователя на основе его имени пользователя. С помощью Copilot вы можете просто написать декларативный комментарий, чтобы запросить функцию. Например:

--Создайте функцию SQL Server, которая возвращает электронную почту пользователя на основе имени пользователя
--Назовите ее в стиле camel case

Когда вы нажимаете “Enter”, Copilot предложит код для функции. Затем вы можете нажать “Tab”, чтобы принять предложение, и продолжать нажимать “Enter”, чтобы автозаполнить функцию. Важно отметить, что небольшие вариации в том, как вы просите о чем-либо, могут повлиять на получаемый результат.

Например, если вы просите функцию использовать в запросе, Copilot также сгенерирует необходимый код для этого:

--Используйте функцию в запросе

Теперь давайте попробуем что-то другое. Мы попросим Copilot создать функцию, которая создает новый SQL-логин. Хотя выполнение хранимой процедуры внутри функции невозможно, Copilot все равно предлагает код. Чтобы уточнить запрос, мы можем указать, что хотим только сгенерированный запрос без выполнения хранимой процедуры:

--Создайте функцию SQL Server, которая создает новый SQL-логин
--Не выполняйте хранимую процедуру, просто верните сгенерированный запрос

Хранимые процедуры

Далее давайте изучим, как Copilot может помочь в создании хранимых процедур. Подобно пользовательским функциям, вы можете использовать декларативные комментарии, чтобы запросить создание хранимой процедуры. Например, чтобы создать хранимую процедуру, которая возвращает список логинов с привилегией sysadmin, вы можете написать:

--Создайте хранимую процедуру SQL Server, которая возвращает все SQL-логины с привилегией sysadmin

Copilot сгенерирует код для хранимой процедуры на основе вашего запроса. Затем вы можете изменить код по необходимости.

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

--Создайте хранимую процедуру SQL Server, которая вставляет данные в мою существующую таблицу пользователей
--Используйте мое существующее определение таблицы

Хотя Copilot не всегда может предоставить безупречный код T-SQL, он может сэкономить значительное количество времени, предоставив отправную точку для вашей хранимой процедуры.

Наконец, давайте попробуем более сложный запрос. Мы попросим Copilot создать хранимую процедуру, которая выполняет различные операции с SQL-логином, такие как создание, обновление и удаление. Хотя сгенерированный код может быть не идеальным, он может служить полезной отправной точкой:

--Создайте хранимую процедуру SQL Server, которая позволяет мне создавать, обновлять и удалять SQL-логин

С помощью Copilot вы даже можете создавать полностью настраиваемые хранимые процедуры. Например, вы можете запросить хранимую процедуру, которая вычисляет факториал заданного числа и возвращает результат, умноженный на 10:

--Создайте хранимую процедуру SQL Server, которая делает следующее:
--Принимает параметр с именем @number
--Сохраняет в таблице переменных факториал числа @number
--Возвращает вычисленное значение, умноженное на 10

Выполнив хранимую процедуру, вы можете убедиться, что Copilot сгенерировал нужную функциональность.

В целом, Copilot может быть ценным инструментом для разработчиков SQL Server, предоставляя предложения и помощь в создании пользовательских функций и хранимых процедур. Хотя сгенерированный код может требовать некоторой доработки, он может сэкономить значительное количество времени и служить полезной отправной точкой для ваших задач разработки.

Следите за следующей частью этой серии, где мы будем исследовать больше функций и возможностей Copilot.

Статья последний раз обновлена: 2023-08-01

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.