Hãy thử nó:
CREATE OR REPLACE FUNCTION outer() RETURNS void AS $outer$
DECLARE s text;
BEGIN
CREATE OR REPLACE FUNCTION inner() RETURNS text AS $inner$
BEGIN
RETURN 'inner';
END;
$inner$ language plpgsql;
SELECT inner() INTO s;
RAISE NOTICE '%', s;
DROP FUNCTION inner();
END;
$outer$ language plpgsql;
Trong postgres 9.5 SELECT outer();
kết quả đầu ra
psql:/vagrant/f.sql:14: NOTICE: inner
CHỈNH SỬA:nếu bạn không bỏ chức năng bên trong vào cuối chức năng bên ngoài, nó sẽ vẫn hiển thị với phần còn lại của cơ sở dữ liệu.