chuxu 发表于 2009-06-16 15:16

以#开头的表是和事务相关的,当这个事务进程结束之后,这个表会自动被系统删除,所以不用手工删。而且系统会自动保证多个并发进程采用同样以#开头的同名表,不会冲突。

willa.yuan 发表于 2009-06-17 11:48

Sybase ASE里有两种临时表
1.共享级临时表:所有建在tempdb的表为共享级临时表,所有会话都可读写,当服务shutdown后重启时所有共享级临时表就没了。它的创建和普通用户表一样。
2.会话级临时表:当我们建表时加“#”既为会话级临时表。如同一时刻我们三个会话都可以创建会话级临时表: create table #aa(a1 int),会话级临时表只能自己这个会话访问,其他会话不能访问,在系统中保存的名字后面都加了串随机数,会话断开会话级临时表就没了。注意高并发的情况下同时建会话级临时表会导致系统表锁的竞争,尤其在ASE12.5下,因为其ASE12.5的系统表为APL表,而ASE15系统表是数据行锁的表了
页: 1 [2]
查看完整版本: 关于临时表创建的问题