在postgresql中一次运行Multiply语句

时间:2012-06-21 08:38:50

标签: sql postgresql pgadmin

在postgresql中,如果一次执行多次SQL语句(在pgadmin中,选择所有这些语句并单击"执行"按钮,如此图片), enter image description here
服务器将等到最后一个语句完成之前的语句才能生效。 当执行这些语句时,如果我运行SELECT * FROM tablename1,则"关系不存在"会发生错误。

执行后,是否有任何方法使语句生效。 注意:如果每个CREATE语句都由它自己执行,则它需要非常短的时间。 SELECT语句需要很长时间。

1 个答案:

答案 0 :(得分:3)

我假设,当您在pgadmin中选择一堆语句并点击“执行”时,它们都会在一个transaction中运行。这意味着,在提交之前,事务的结果将不会对其他并发会话可见(或者如果事务失败,则根本不可见)。

尝试在每个COMMIT;之后或最后一个之后添加显式CREATE TABLE

您可能还想了解transaction isolation