SQL中的#和##分别表式什么谢谢!
#:本地临时表,只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除或者这样说局部临时表是有当前用户创建的,并且只有当前用户的会话才可以访问。
如果本哪纳紧萄地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则数据库引擎必须能够区分由不同用户创建的表。为此,数据库引擎在内部为每个本地临时表的表名追加一个数字后缀。##:全局临时表,在所有连接上都能看到全局临时表或者只要这个全局临时表存在,那么用户创建会话后对所有的用户都是可见的。
当创建全局临时表的连接断开后,新的任务不能再引用它们。当前的语句一执行完,任务与表之间的关联即被除去。因此,通常情况下,只要创建全局临时表的连接断开,全局临时表即被除去。
扩展资料
临时表的应用范围
1、当某一个SQL语句关联的表在2张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中。
2、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。
ORACLE的临时表在应用系统中有很大的作用,它可以让用户只能够操作各自的数据中而互不干扰,不用担心会破坏或影响其他SESSION/TRANSACTION的数据,这也是数据安全的一种解决方法。
临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除TRANACTION临时表数据。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:48
阅读量:67
阅读量:71
阅读量:39
阅读量:40