Полное руководство по процедурам и функциям в PL SQL

Опубликовано: 2023-01-30
Полное руководство по процедурам и функциям в PL SQL

Языки программирования — это система для написания компьютерных программ. Хотя многие языки программирования основаны на тексте, другие также могут быть графическими. Эти языки помогают программистам общаться с компьютером. Язык структурированных запросов (SQL) — это один из таких языков программирования, который помогает хранить, обрабатывать и извлекать данные, хранящиеся в реляционной базе данных. В сегодняшнем руководстве мы поделимся подробностями о выполнении блоков имен (процедур и функций), которые являются подпрограммами для PL SQL. Итак, если вы искали подробное руководство по процедурам и функциям в PL SQL, вы попали на нужную страницу. В этом документе, наряду с темой хранимых процедур PL SQL, вы также узнаете пример процедуры PL SQL. Не говоря уже о процедуре вызова PL SQL, процедуре выхода PL SQL и примере функции PL SQL, которые одинаково важны для изучения, если вы начинающий программист. Итак, давайте начнем с нашего подробного руководства по PL SQL.

Полное руководство по процедурам и функциям в PL SQL

Содержание

  • Полное руководство по процедурам и функциям в PL SQL
  • Что такое PLSQL?
  • Что такое процедура и функция в PL SQL?
  • Как создать хранимую процедуру и функцию в PL SQL?
  • Преимущества хранимых процедур и функций в PL SQL
  • Синтаксис для создания хранимой процедуры
  • Пример процедуры PL SQL
  • Синтаксис для создания функции в PL SQL
  • Пример функции PL SQL
  • Что такое процедура выхода из PL SQL?
  • Разница между хранимой и функциональной процедурой

Полное руководство по процедурам и функциям в PL SQL

Здесь мы подробно показали процедуры и функции PL SQL с примерами.

Что такое PLSQL?

  • PL SQL — это краткая форма расширений процедурного языка для SQL .
  • PL SQL — это язык с блочной структурой для программистов, который помогает им сочетать мощь SQL с процедурными операторами.
  • Это процедурное расширение корпорации Oracle .
  • Этот процедурный язык доступен в базе данных Oracle , базе данных в оперативной памяти Times Ten и IBM Db2 .
  • Во время выполнения и PL/SQL, и SQL обеспечивают оптимальную эффективность, работая в одном и том же серверном процессе .
  • PL SQL обеспечивает эффективную и бесперебойную обработку операторов SQL за счет повышения переносимости , безопасности и надежности базы данных.
  • PL SQL просто означает инструктирование компилятора о том, что делать с помощью SQL и о том, как делать это с помощью его процедурного способа .
  • PL SQL предоставляет программистам больше контроля за счет использования циклов , условий и объектно-ориентированных концепций .

Что такое процедура и функция в PL SQL?

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

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

Когда записывается блок кода для хранимой процедуры или функции PL SQL, они компилируются механизмом Oracle. После компиляции он сохраняется как объект базы данных. Хранимая процедура или функциональный блок кода состоит из трех частей:

  • Декларативная часть : в этой части объявляются переменные, константы, курсор или исключения, которые должны использоваться процедурой или функцией.
  • Исполняемая часть : в этой части записывается определение создаваемой процедуры или функции. Эта часть также состоит из операторов PL/SQL или SQL, присваивающих значения, управляющих данными и управляющих выполнением.
  • Часть обработки исключений : эта последняя часть является необязательной, и в ней записываются ожидаемые исключения, которые могут возникнуть во время выполнения кода, написанного в исполняемой части.

Преимущества хранимых процедур и функций в PL SQL

Прежде чем мы раскроем пример процедуры PL SQL, вы должны сначала ознакомиться с преимуществами подпрограмм процедур и функций.

  • Повышение производительности базы данных : механизм Oracle помогает в автоматической компиляции. Кроме того, всякий раз, когда выполняется процедура или функция вызова PL SQL, механизм Oracle загружает скомпилированный код в SGA, системную глобальную область, что способствует более быстрому выполнению.
  • Возможность повторного использования и отсутствие избыточности . Количество строк кода не может быть записано повторно, поскольку один и тот же блок кода для процедуры или функции может вызываться любое количество раз для нескольких данных.
  • Безопасность : безопасность базы данных также поддерживается с использованием хранимых процедур или функций, поскольку это помогает контролировать использование и их доступ, предоставляя пользователям разрешения. Тем не менее, пользователям не предоставляется разрешение на редактирование или управление базой данных.
  • Целостность . Еще одним преимуществом использования хранимой процедуры или функции PL SQL является то, что она обеспечивает целостность, поскольку они хранятся как объекты базы данных механизмом Oracle.
  • Экономия памяти: одно из многих преимуществ хранимых процедур или функций заключается в том, что они совместно используют память, что помогает экономить память как единую копию процедуры или функции, которую могут загрузить несколько пользователей, имеющих разрешение на то же самое.

Читайте также: Как исправить ошибку javascript:void(0)

Синтаксис для создания хранимой процедуры

Вы можете посмотреть на синтаксис ниже, который используется для создания хранимой процедуры в Oracle:

 СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ <имя_процедуры>
(<имя_переменной>IN/OUT/IN OUT <тип данных>,
<имя_переменной>IN/OUT/IN OUT <тип данных>,...) IS/AS
объявление переменной/константы;
НАЧИНАТЬ
-- тело подпрограммы PL/SQL;
ИСКЛЮЧЕНИЕ
-- блок обработки исключений ;
КОНЕЦ <имя_процедуры>; 

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

В приведенном выше коде:

  • Имя_процедуры представляет имя процедуры.
  • Имя_переменной представляет собой имя переменной, используемой в хранимой процедуре.
  • Процедура « Создать или заменить » представляет собой ключевое слово, используемое для указания имени создаваемой процедуры.
  • Begin , Exception и End представляют ключевые слова, используемые для обозначения создания различных разделов процедуры.
  • IN/OUT/IN OUT представляет режимы параметров, где IN относится к режиму ТОЛЬКО ДЛЯ ЧТЕНИЯ , который используется для переменной, через которую он будет принимать значение от пользователя. Это режим параметра по умолчанию.
  • OUT относится к режиму ТОЛЬКО ЗАПИСЬ , который используется для переменной, которая возвращает значение пользователю.
  • IN OUT относится к режиму READ и WRITE , который используется для переменной, которая либо принимает значение, либо возвращает значение пользователю.
  • <имя_процедуры> представляет конец определения процедуры. Вы также можете просто использовать END вместо него.

Пример процедуры PL SQL

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

 включить вывод сервера;
СОЗДАЙТЕ ИЛИ ЗАМЕНИТЕ ПРОЦЕДУРУ Sum (где число IN, b число IN) IS число c;
НАЧИНАТЬ
с := а+б;
dbms_output.put_line('Сумма двух номеров = '|| c);
КОНЕЦ Сумма;

В случае вызова процедуры будет выполнен следующий код:

 включить вывод сервера;
ЗАЯВИТЬ
х число;
у номер;
НАЧИНАТЬ
х := &х;
у := &у;
Сумма (х, у);
КОНЕЦ;
Где:
Введите значение для х: 10
Введите значение для у: 20
Сумма двух номеров: 30

Процедура PL SQL успешно создана.

Синтаксис для создания функции в PL SQL

Теперь, когда вы знаете, как создать синтаксис для хранимой процедуры и ее пример, пришло время пролить свет на создание функций в PL/SQL:

 СОЗДАЙТЕ ИЛИ ЗАМЕНИТЕ ФУНКЦИЮ <имя_функции>
(<имя_переменной> В <типе данных>,
<имя_переменной> IN <тип данных>,...)
RETURN <тип данных> ЕСТЬ/КАК
объявление переменной/константы;
НАЧИНАТЬ
-- тело подпрограммы PL/SQL;
ИСКЛЮЧЕНИЕ
-- блок обработки исключений ;
КОНЕЦ <имя_функции>; 

синтаксис для создания функций

В приведенном выше коде:

  • Function_name представляет имя функции.
  • Variable_name представляет имя переменной для переменной, используемой в функции.
  • Функция « Создать или заменить » представляет собой ключевое слово, используемое в качестве имени создаваемой функции.
  • IN представляет собой режим ТОЛЬКО ДЛЯ ЧТЕНИЯ , который используется для переменной, с помощью которой она будет принимать значение от пользователя. Это параметр по умолчанию.
  • Возврат представляет собой ключевое слово, за которым следует тип данных, указывающий тип данных значения, которое функция собирается вернуть.

Читайте также: Исправить сбой команды с кодом ошибки 1 Информация о яйце Python

Пример функции PL SQL

Ниже приведен пример функции PL SQL, который демонстрирует использование функции для сложения двух чисел:

 включить вывод сервера;
CREATE OR REPLACE FUNCTION Sum(a IN number, b IN number) RETURN Number IS
c номер;
НАЧИНАТЬ
с := а+б;
ВОЗВРАТ с;
КОНЕЦ; 

функция для добавления синтаксиса двух чисел

В случае вызова функции sum будет выполнен следующий код:

 включить вывод сервера;
ЗАЯВИТЬ
номер №1;
номер №2;
номер результата;
НАЧИНАТЬ
№1 := &no1;
№2 := &no2;
результат := Сумма(№1, №2);
dbms_output.put_line('Сумма двух номеров='||результат);
КОНЕЦ;
Где:
Введите значение №1: 5
Введите значение №2: 5
Сумма двух номеров: 10

Процедура PL SQL успешно создана.

синтаксис вызова функции sum

Прочтите следующий раздел, чтобы узнать о процедуре выхода из PL SQL.

Что такое процедура выхода из PL SQL?

Выход помогает, когда оператор выходит из текущей итерации цикла после того, как условие в его предложении WHEN выполнено, и передает управление в конец текущего цикла. Операторы Exit не могут использоваться вне циклов и предназначены для выхода из цикла либо безоговорочно с помощью операторов Exit и Continue, либо условно с использованием операторов Exit When и Continue When.

Разница между хранимой и функциональной процедурой

Теперь, когда вы знаете о процедурах и функциях в PL SQL, наконец пришло время узнать об основных различиях между ними:

  • Хранимая процедура может возвращать или не возвращать значение вызывающей части программы, тогда как функция возвращает значение вызывающей части программы.
  • Хранимая процедура возвращает значение, используя параметр OUT, тогда как функция возвращает значение, используя RETURN.
  • Хранимая процедура использует параметры IN, OUT, IN OUT, тогда как функция использует только параметр IN.
  • Хранимая процедура не указывает тип данных значения, если она будет возвращена после сделанного к ней вызова, тогда как функция указывает тип данных значения, которое будет возвращено после сделанного к ней вызова.
  • Хранимая процедура не может быть вызвана из функционального блока кода, тогда как функция может быть вызвана из процедурного блока кода.

Рекомендуемые:

  • Оперативная память DDR4 против DDR5: что лучше для игр?
  • Какие бывают виды макетных плат?
  • Как анализировать текст
  • 4 способа разделить строку по разделителю в SQL

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