我试图在 POSTGRESQL 函数中创建表,但出现以下错误。
ERROR: no schema has been selected to create in CONTEXT: SQL statement " CREATE TABLE IF NOT EXISTS test.t_testing ( id serial PRIMARY KEY, customerid int, daterecorded date, value double precision )"
我的函数如下。
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;
所以将“架构”和“表格”分开。
关于postgresql - 创建函数以创建表 Postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40435864/