在Oracle中,您可以使用以下方式创建临时表:
CREATE GLOBAL TEMPORARY TABLE temp_table (
field1 NUMBER,
field2 NUMBER
)
ON COMMIT DELETE ROWS;
这是一个相当不错的功能,可以创建一个对所有人可见但只有插入数据的用户自己可见的表。此外,该数据会在事务或会话结束时(根据声明)自动删除,不会影响其他人的临时数据。
然而,在SQL Server中,您可以使用以下方式创建临时表:
CREATE TABLE #temp_table (field1 INT, field2 INT);
据我理解,这与 Oracle 的实现有着实质性和功能性的差异。该临时表只对您可见,并且在使用后立即删除(该表)。
SQL Server 是否具有模仿上述 Oracle 行为的能力?还是唯一的处理临时数据的方法涉及每次迭代工作都需要重复创建临时表?