Create函数创建表Postgresql

Create函数创建表Postgresql,postgresql,Postgresql,我试图在POSTGRESQL函数内创建表,但出现以下错误 错误:未选择要在以下上下文中创建的架构:SQL 语句“如果不存在,则创建表test.t_testing( id串行主键, 客户ID int, 日期记录日期, 值双精度“ 我的职责如下 CREATE OR REPLACE FUNCTION test.create_table_type1(t_name varchar(30)) RETURNS VOID AS $func$ BEGIN EXECUTE format(' CREATE

我试图在POSTGRESQL函数内创建表,但出现以下错误

错误:未选择要在以下上下文中创建的架构:SQL 语句“如果不存在,则创建表test.t_testing( id串行主键, 客户ID int, 日期记录日期, 值双精度“

我的职责如下

CREATE OR REPLACE FUNCTION test.create_table_type1(t_name varchar(30))
  RETURNS VOID AS
$func$
BEGIN

EXECUTE format('
   CREATE TABLE IF NOT EXISTS %I (
    id serial PRIMARY KEY,
    customerid int,
    daterecorded date,
    value double precision
   )', 'test.t_' || t_name);

END
$func$ LANGUAGE plpgsql;
请尝试以下方法:

CREATE OR REPLACE FUNCTION test.create_table_type1(t_name varchar(30))
  RETURNS VOID AS
$func$
BEGIN

EXECUTE format(
    'CREATE TABLE IF NOT EXISTS %I.%I (
        id serial       PRIMARY KEY,
        customerid      int,
        daterecorded    date,
        value           double precision
    )',
   'test',
   ( 't_' || t_name )
);

END
$func$ LANGUAGE plpgsql;
所以将“模式”和“表格”分开