Кругом пишут, что оператор присваивания в 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;