CREATE OR REPLACE FUNCTION f_sync_from_xml()
RETURNS boolean AS
$BODY$
DECLARE
myxml xml;
datafile text := 'path/to/my_file.xml';
BEGIN
myxml := pg_read_file(datafile, 0, 100000000);
此函数返回错误
错误:未结算的美元引用字符串在或附近" $ BODY $
。我该如何解决?
答案 0 :(得分:2)
定义没有完成,你没有终止它,例如:
CREATE OR REPLACE FUNCTION f_sync_from_xml()
RETURNS boolean AS
$BODY$
DECLARE
myxml xml;
datafile text := 'path/to/my_file.xml';
BEGIN
myxml := pg_read_file(datafile, 0, 100000000);
END;
$BODY$ language plpgsql;
这里$BODY$
是一个安全的引用 - 函数定义保留在引号内