【发布时间】:2017-08-15 17:01:52
【问题描述】:
是否可以在一个存储过程中创建多个表? 我正在制作一个创建表的函数,我将表名作为参数传递,但我想一次创建 3 个表,这是我的存储过程:
CREATE OR REPLACE FUNCTION create_tables(t_name varchar(30))
RETURNS VOID AS
$func$
BEGIN
EXECUTE format('
CREATE TABLE IF NOT EXISTS %I (
cond_a02_cabecera_id PRIMARY KEY,
cond_a02_cabecera_nombre_archivo varchar(100),
cond_a02_cabecera_centro varchar(100),
cond_a02_cabecera_longitud int,
cond_a02_cabecera_archivo_activo boolean,
cond_a02_cabecera_fechae date,
cond_a02_cabecera_fechad date
)', t_name);
END
$func$ LANGUAGE plpgsql;
我使用 JDBC 来创建数据库,我尝试将“创建表”再次放入存储过程中,但它只创建第一个。
【问题讨论】:
标签: java postgresql jdbc plpgsql dynamic-sql