Оператор присваивания (:= или =) ?

Кругом пишут, что оператор присваивания в plpgsql "паскалевский" (:=). Но если использовать "сишний" (=), тто тоже вроде работает как надо. Есть ли разница между єтими операторами (для plpgsql, не для самого SQl)?

То есть, обе строки как бы исполняются одинаково:

start_dt := cunion.get_obalance_date();
и
start_dt = cunion.get_obalance_date();

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

В документации написано :=,

В документации написано :=, значит используйте как написано в документации, ибо внезапно = может перестать работать.
И это не паскалевский стандарт, язык plpgsql это попытка предоставить что-то типа Embedded SQL в Oracle. Большинство синтаксиса соответственно заимствовано оттуда, чтобы обеспечить какую-то совместимость.

Спасибо за ответ. Я также в

Спасибо за ответ.
Я также в интернете находил примеры с оператором "=" вместо ":=", потому думал, может они взаимозаменяемые...

Справедливости ради нужно

Справедливости ради нужно сказать, что на практике разницы нет. И тот и тот вариант отлично уживаются вместе, доказано временем. Хотя для варианта с функцией я скорее использовал бы
SELECT cunion.get_obalance_date() INTO start_dt;

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023