Разделитель
thesz — 26.05.2023
В SQL (нескольких его диалектах) есть высказывание DELIMITER. Она
устанавливает новый разделитель (завершитель) операторов, например,
DELIMITER $$;, и после этого высказывания надо будет
завершать не точкой с запятой, а $$.Используется, в основном, в описании хранимых процедур. В MySQL и MariaDB разбор SQL не производит анализ и разбор тела процедуры, поэтому точка с запятой в теле процедуры может завершить разбор CREATE PROCEDURE. Вот и придумали такое.
В Postgres используется AS delimiter:
CREATE PROCEDURE
шурум-бурум AS $$$ тело процедуры $$$;. То есть, после AS
идёт строка-завершитель, а само тело заканчивается оным
завершителем.Итак, диалект SQL в изводе MySQL/MariaDB обладает контекстно-зависимым лексическим анализом, а Postgres гордо носит знамя использования контекстно-зависимой грамматики.
Базы данных это финансовый мир, умноженный на мир языков программирования. То есть, эта яма глубже любой из вышеприведённых. ;)
|
|
</> |
Какие бывают подшипники: обзор шариковых, роликовых и игольчатых моделей
Неуместная аналогия
О секрете Трампа Когда и как его завербовала российская разведка?
Зима 2025-26. День 24. Корпоратив
Ашвем этим утром
Коллекция имени кота Гоши
Убивать их всех! - 75
Новогодние подарки
Китайский аутоканнибализм: болезненные амбиции, уничтожающие страну

