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



Эта статья о процедурах в SQL поможет вам понять, что такое процедуры и как они повышают производительность базы данных при реализации.

Процедуры - это подпрограммы, которые можно создавать и сохранять в как объекты базы данных. Как и в других языках, вы можете создавать и отбрасывать процедуры в SQL также. В этой статье давайте рассмотрим процедуры в SQL с синтаксисом и примерами.

Java приводит к двойному преобразованию в int

В статье обсуждаются следующие темы:





Что такое процедура в SQL?

Процедура в (часто называют хранимой процедурой),- это многоразовый блок, который инкапсулирует конкретную бизнес-логику приложения. Процедура SQL - это группа операторов и логики SQL, скомпилированных и сохраненных вместе для выполнения определенной задачи.

Процедура SQL - Процедуры в SQL - Edureka



Ниже перечислены ключевые особенности процедур SQL:

  • Легко реализовать, потому что они используют очень простойвысокоуровневый, строго типизированный язык
  • Поддерживает три типа параметров, а именно:параметры ввода, вывода и ввода-вывода.
  • Надежнее, чем аналогвнешние процедуры.
  • Процедуры SQL способствуют повторному использованию и ремонту.
  • Поддерживает простую, но эффективную модель обработки условий и ошибок.
  • Возвращает значение состояния вызывающей процедуре или пакету, чтобы указать успех или сбой и причину сбоя.

Теперь, когда вы знаете, что такое процедуры и зачем они нужны, давайте обсудим синтаксис и пример процедуры в SQL.

Синтаксис процедур в SQL

Ниже показан базовый синтаксис создания процедуры в SQL:



CREATE [OR REPLACE] PROCEDURE имя_процедуры [(имя_параметра [IN | OUT | IN OUT] type [])] IS BEGIN [объявление_section] исполняемый_section // оператор SQL, используемый в хранимой процедуре END GO

Синтаксические термины

Параметр

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

  • В : ТЭто параметр по умолчанию, который всегда получает значения от вызывающей программы. Это переменная только для чтения внутри подпрограмм, и ее значение не может быть изменено внутри подпрограммы.
  • ВНЕ: этоиспользуется для получения вывода из подпрограмм.
  • ВНЕ: ЭтаПараметр используется как для ввода, так и для вывода подпрограмм.

Прочие терминологии

  • имя-процедуры указывает имя процедуры. Он должен быть уникальным.
  • Параметр [OR REPLACE] позволяет изменять существующую процедуру.
  • IS | В пункте AS они устанавливаютконтекст для выполнения хранимой процедуры.Разница в том, что ключевое слово «IS» используется, когда процедура вложена в некоторые другие блоки, а если процедура является автономной, то используется «AS».
  • Code_Block объявляет процедурные операторы, которые обрабатывают всю обработку в хранимой процедуре. Содержимое code_block зависит от правил и процедурного языка, используемых база данных .

Процедура в SQL: примеры

Пример1

В следующем примере создается простая процедура, которая отображает приветственное сообщение на экране при выполнении. Тогда процедура будет такой:

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ welcome_msg (para1_name IN VARCHAR2) IS BEGIN dbms_output.put_line («Hello World!» || para1_name) END /

Выполните хранимую процедуру. Автономную процедуру можно вызвать двумя способами и минус

  • С использованием ВЫПОЛНИТЬ ключевое слово
  • Вызов имени процедуры из блока SQL

Вышеупомянутую процедуру можно вызвать с помощью ключевого слова Execute следующим образом:

EXEC welcome_msg («Добро пожаловать в Эдуреку!»)

Вывод

Привет мир! Добро пожаловать в Эдурека

Процедура выполняется, и сообщение распечатывается как «Hello World! Добро пожаловать в Эдурека ».

Пример2

Предположим, у вас есть таблица с подробностями Emplyoee, такими как EmployeId, Firstname, Lastname и DepartmentDetails.

В этом примере создается процедура SQL, которая будет возвращать имя сотрудника, когда EmployeId дается как входной параметр хранимой процедуры. Тогда процедура будет такой:

Создать PROCEDURE GetStudentName (@employeeID INT, --Входной параметр, employeeID сотрудника @employeName VARCHAR (50) OUT --OUT - выходной параметр, employeeName сотрудника КАК НАЧАТЬ SELECT @ employeeName = Firstname + '' + Lastname FROM Employee_Table WHERE EmployeId = @ employeeID КОНЕЦ

Шаги для выполнения:

  • Объявите @employeName как nvarchar (50)
  • EXEC GetStudentName 01, вывод @employeName
  • выберите @employeName

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

Преимущества процедур в SQL

Основная цель хранимых процедур в SQL - скрыть прямое SQL запросы из кода и повысить производительность таких операций с базой данных, как выбор, обновление и удаление данных. Другие преимущества процедуры в SQL:

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

В заключение, процедуры в SQL (хранимые процедуры)не только увеличивает возможность повторного использования кода, но также увеличивает производительность базы данных. Как? Путем уменьшения сетевого трафика за счет уменьшения количества информации, передаваемой по сети. На этом мы подошли к концу статьи.

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

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к статье «Процедуры в SQL», и мы свяжемся с вами.