While assigning the result of a function or expression to a variable in PL/pgSQL, when is it necessary to use a
SELECT statement (sub-query)?
This may be just my misconception from SQL. I thought that everything should be enclosed in a
(SELECT ...) (even if it just involves computing a number), e.g.
$$ DECLARE parts text; BEGIN parts := (SELECT string_to_array(my_str,'_') ); ... $$
but I just found that it works without the
parts := string_to_array(my_str,'_');
(It's almost as if I can use PL/pgSQL as if its Pascal.)
In general, what kind of expressions can be used directly without
SELECT in computing values?