命名临时表

临时表是与会话而不是数据库关联在一起。创建临时表时,直到删除第一个临时表并结束会话之前都不能使用同样的名称创建另外一个临时表(即使是在另一个数据库中)。

临时表的名称必须遵循 SQL 标识符的要求,但是它不能是限定数据库对象的名称。当您使用 CREATE TEMP TABLE 语句创建临时表时,您不能指定任意授权标识符作为它的所有者。不像永久表,临时表不能在用 owner 名称,或 database 名称,或 database server 名称的限定其标识符的 SQL 语句中被引用。

临时表的名称必须与当前数据库中任何其它表、视图、序列对象或同义词的名称都不相同。否则,此临时表会优先于会话中其它任何具有相同名称的永久表。但是,您在此声明的临时表名称不必不同于同一数据库中其它用户声明的临时表名称。

如果您翻出一个跨数据库的 DML 语句,它引用了一个远程的永久表,但您本地的数据库中包含一个相同名称的临时表,DML 语句访问本地的临时表,而非远程的临时表。