在Oracle中,您可以使用以下内容创建临时表:
CREATE GLOBAL TEMPORARY TABLE temp_table (
field1 NUMBER,
field2 NUMBER
)
ON COMMIT DELETE ROWS;
Run Code Online (Sandbox Code Playgroud)
...这可能非常漂亮,因为这会创建一个对所有人都可见的表,但只有他或她才能看到INSERT进入表中的数据.此外,该数据会在事务或会话结束时自动删除(取决于其声明),从而使其他人的临时数据不受损害.
但是,在SQL Server中,您可以使用以下命令创建临时表:
CREATE TABLE #temp_table (field1 INT, field2 INT);
Run Code Online (Sandbox Code Playgroud)
......据我所知,它与Oracle的实施在本质上和功能上有所不同.此临时表仅对您可见,并在使用后立即删除(表).
如上所述,SQL Server中是否有任何模仿Oracle行为的能力?或者,使用临时数据的唯一方法是不得不在每次迭代工作时重复创建临时表?