如何使用工具 PGADMIN 在 Postgres 中 运行 多个 sql 语句?

How to run multiple sql statements in Postgres using the tool PGADMIN?

我有 170 个 Alter Drop Constraint 语句、120 个 T运行cate table、120 个 Insert table 和 170 个 Alter Add Constraint。所有这些都应该 运行 在一个脚本中作为批处理脚本,我正在使用 PGADMIN IV 工具。

尝试像 Oracle 一样在 Begin 和 End 之间执行它们,

BEGIN 
  ALTER Statement1..,,  ;
  ALTER Statement2..,,  ;
  TRUNCATE Statement3..,,  ;
  TRUNCATE Statement4..,,  ;
  INSERT Statement5..,,    ;
  INSERT Statement6..,,    ;
  COMMIT;
  ALTER Statement7..,,     ;
  ALTER Statement8..,,     ;
  ---
  -----
  -------
  ---------
  COMMIT;
END;

但是它不起作用,

有人可以给我一个建议吗?

从你的问题中看不出你实际打算做什么。您是想 运行 在一个脚本或一笔交易中完成所有陈述吗?

如果您需要在一个脚本中 运行 它们,那么只需 运行 在 PGADMIN 中按如下方式设置它们就可以了。

  ALTER Statement1 ;
  ALTER Statement2 ;
  TRUNCATE Statement3 ;
  TRUNCATE Statement4 ;
  INSERT Statement5 ;
  INSERT Statement6 ;
  ALTER Statement7 ;
  ALTER Statement8 ;

以此类推

另一方面,如果您想 运行 它们都在一个事务中,那么只需将语句包含在 BEGIN 和 COMMIT 中,如下所示。

  BEGIN ;
  ALTER Statement1 ;
  ALTER Statement2 ;
  TRUNCATE Statement3 ;
  TRUNCATE Statement4 ;
  INSERT Statement5 ;
  INSERT Statement6 ;
  ALTER Statement7 ;
  ALTER Statement8 ;
  COMMIT ;

我看不出在 PGADMIN 中 运行 与使用 psql 之类的客户端 运行 之间没有任何区别。