0

当您在 Sybase ASE 12 上删除临时表时,是否有人会遇到问题,它仍然存在于当前会话中。所以你在尝试再次选择数据时遇到“表已经存在”

4

2 回答 2

1

好吧,在编写代码之前,您需要阅读手册,至少要阅读您希望使用的命令的语法。否则,您将在每一个转折点都面临问题。这取决于你想要做什么。

  1. SELECT ... INTO #MyTable创建一个表并成功,因为它不存在。所以第二个SELECT ... INTO #MyTable会尝试创建#MyTable,发现它存在,然后失败。

  2. 如果要执行第二次SELECT进入同一个表,TRUNCATE该表,然后使用SELECT ... INTO EXISTING TABLE #MyTable.

  3. 或者DROP TABLE跳过EXISTING TABLE修饰符。

  4. 如果您希望表格包含几个 的总和SELECTS,显然,请跳过TRUNCATE.

于 2010-11-28T01:18:43.060 回答
1

我通常这样做:

1) 创建表 #temptable ( ....

)

插入 #temptable 选择 .....

这永远不会出错。

这解决了另一个可能的错误。如果“select INTO”附带的 WHERE 子句不产生任何行,则临时表不会有零行,但根本不会创建临时表。这可能会使存储的过程在以后爆炸。

于 2017-02-15T21:32:41.963 回答