我在Postgres Sql中遇到有关全局临时表的问题。如果有两个程序:
然后如果首先调用过程A并且在该过程B被调用之后,则临时表保留结构,即过程A中定义的temp(id,name),反之亦然,并且如下定义的列“address”没有找到程序B.
请帮我找一个解决方案???
答案 0 :(得分:1)
如果您确实需要显式临时表,只需使用唯一名称创建这些表。
无论如何,常见的方法是在没有显式临时表的情况下在SQL选择中处理它,可能通过将与查询(公用表表达式)一起扩展。
答案 1 :(得分:0)
基本上你有两种选择。
首先是让你的桌子独一无二,这样他们就不会碰到同样的桌子了。如果您使用这些来存储长期特定于会话的数据,那么这将是首选。这些可以唯一命名。
第二个是你可以在同一个存储过程中创建,使用和删除表,这样一般可以保证存储过程A在启动时不存在关系temp,与存储过程B相同。