什么是postgres中的字符串文字作为函数参数

时间:2016-05-14 06:53:30

标签: postgresql

所以对于下面的代码是什么" table"和"列",如果我只把int table和column作为变量名,它们有什么不同

create type MatchingRecord as ("table" text, "column" text, nexamples integer);

create or replace function Q2("table" text, pattern text)
    returns setof MatchingRecord
as $$
  begin
  end;
$$ language plpgsql;

1 个答案:

答案 0 :(得分:0)

"table"不是“字符串文字”,它是一个标识符 - 参数的名称。

字符串需要单个引号,例如'table'将是一个字符串。

由于tablecolumn是保留关键字,因此需要引用这些参数名称(标识符),并使用SQL中的双引号完成。

手册中的详细信息
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS