是否可以在PostgreSQL ASSERT消息中包含参数。
示例:
do $$
declare
c integer;
begin
c := (select count(*) from pg_database);
assert c = 7, 'not 7!';
assert c = 8, 'not 8!';
assert c = 5, ('% not 5!' , c);
end;$$;
这有效:
assert c = 8, 'not 8!';
此断言:
assert c = 5, ('% not 5!' , c);
显示应显示的错误消息:
SQL Error [P0004]: ERROR: ("% not 5!",7)
Where: PL/pgSQL function inline_code_block line 7 at ASSERT
ERROR: ("% not 5!",7)
Where: PL/pgSQL function inline_code_block line 7 at ASSERT
ERROR: ("% not 5!",7)
Where: PL/pgSQL function inline_code_block line 7 at ASSERT
但变量不会替换文本中的%。