Postgresql исторически не поддържа процедурен код на командно ниво - само в рамките на функции. Въпреки това, в Postgresql 9 е добавена поддръжка за изпълнение на вграден кодов блок, който ефективно поддържа нещо подобно, въпреки че синтаксисът може би е малко странен и има много ограничения в сравнение с това, което можете да правите със SQL Server. По-специално, вграденият кодов блок не може да върне набор от резултати, така че не може да се използва за това, което сте очертали по-горе.
Като цяло, ако искате да напишете някакъв процедурен код и той да върне резултат, трябва да го поставите във функция. Например:
CREATE OR REPLACE FUNCTION somefuncname() RETURNS int LANGUAGE plpgsql AS $$
DECLARE
one int;
two int;
BEGIN
one := 1;
two := 2;
RETURN one + two;
END
$$;
SELECT somefuncname();
Протоколът на PostgreSQL, доколкото знам, не позволява неща като команда, връщаща множество набори от резултати. Така че не можете просто да съпоставите T-SQL партиди или съхранени процедури към функциите на PostgreSQL.