Разделители в SQL

SQL База данных

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

Разделители в SQL

Создайте и вставьте значение в базу данных.

Создайте и вставьте значение в базу

Но если мы рассматриваем несколько операторов, нам нужно использовать разные разделители, такие как $$ или //. Разделитель — это тип функции в SQL. Используя другой разделитель, //, мы получим такую ​​ошибку:

Выход:

Теперь по умолчанию мы получаем ошибку

Теперь по умолчанию мы получаем ошибку. Как заставить это работать? Вместо точки с запятой, используемой в качестве разделителя по умолчанию, мы хотели бы использовать //. Возможно ли это в SQL?

Да, это возможно. Синтаксис для этого приведен ниже:

Запрос:

Delimeter//
select*from world//

Выход:

Синтаксис для этого приведен ниж

Теперь, в этом случае, не будет вывода, потому что в операторе разделителя мы написали //, а затем в операторе выбора мы использовали разделитель $$. Разделитель в операторе разделителя, а также в операторе выбора должен быть одним и тем же, чтобы заставить его работать.

Теперь мы также можем использовать разделитель $$. Синтаксис приведен ниже:

Запрос:

Delimiter$$
select * from world$$

Когда мы пишем операторы SQL, мы используем точку с запятой для

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

Запрос:

SELECT * FROM employees; 
SELECT * FROM players;

Например, MySQL workbench использует точку с запятой (;), чтобы разделить два оператора и затем выполнить каждый оператор отдельно.

Но хранимая процедура содержит несколько операторов, разделенных точкой с запятой (;).

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

Команда, которую мы можем использовать для переопределения разделителя:

DELIMITER delimiter_character

Символ-разделитель состоит из одного или нескольких символов, например: // или $$.

После изменения разделителя мы можем использовать новый разделитель для завершения оператора, как показано ниже:

DELIMITER // 
SELECT * FROM employees // 
SELECT * FROM players //

Чтобы изменить разделитель на разделитель по умолчанию, который представляет собой точку с запятой (;), мы можем использовать следующий оператор:

DELIMITER ;

Обычно хранимая процедура содержит несколько инструкций, разделенных точкой с запятой. Чтобы скомпилировать процедуру как один оператор, нам нужно временно изменить разделитель с точки с запятой (;) на другой разделитель, такой как $$ или //:

DELIMITER $$ 
CREATE PROCEDURE customers() 
BEGIN  -- 
statements END $$ DELIMITER ;

Обычно хранимая процедура содержит несколько инструкций

Объяснение кода:

  • Измените разделитель по умолчанию на $$.
  • Теперь используйте точку с запятой (;) в теле и $$ после ключевого слова END, чтобы завершить процедуру.
  • Снова измените разделитель по умолчанию на точку с запятой (;).
Читайте также:  Типы распределенных СУБД
Оцените статью
bestprogrammer.ru
Добавить комментарий