Office中国论坛/Access中国论坛

标题: 建立SQL Server用户临时表 [打印本页]

作者: caijun64    时间: 2002-6-5 17:38
标题: 建立SQL Server用户临时表
如何通过Access 2000 ADP在SQL Server中建立用户临时表(以#开头),SQL Server需要做何设置?
作者: zhuyiwen    时间: 2002-6-7 00:47
使用ADODB.Command, 使用 SQL 语句 Create Table #Name ... 创建临表

<FONT face="Courier New">    Dim cmm As ADODB.Command
   
    Set cmm = New ADODB.Command
    With cmm
        .ActiveConnection = CurrentProject.Connection
        .CommandType = adCmdText
        .CommandText = "Create Table #tt (f1 char(6) not null)"
        .Execute
    End With
</FONT>
但是创建的临时表称为局部临时表,是存放在tempdb数据库中,会话一结束,就会自动消失。

如果用##开头则是全局临时表,需停止SQL SERVER或使用DROP TABLE语句删除,该临时表才会消失。

请考虑清楚再使用。
[此贴子已经被作者于2005-1-28 21:49:09编辑过]


作者: HG    时间: 2002-6-19 01:30
臨時表分為兩種,局部臨時表(在表名前加一個#字符)全局臨時表(在表名表加兩個#字符)
臨時表只存在于tempdb數據庫中,隨著系統的關閉它就會消失。
由于大部分SQLserver不會關機,所以在建立臨時表后就記著刪除它。
建立語句如下:
create table #tablename(
col1 int identity ,
col2 char(3),
。。。。。。。。)
刪除有語句如下:
drop table #tablename
全局臨時表同樣。

作者: yiwancn    时间: 2008-10-6 20:02
学习了
作者: chenyingfengsx    时间: 2009-12-3 10:47
学些了!
作者: ropel    时间: 2009-12-14 22:25
学习了!
作者: LHB    时间: 2009-12-18 09:36
HG说得是.
作者: yhf    时间: 2012-7-22 18:22
请教:存放临时表的 tempdb 数据库 是在SQL服务器上还是在本地电脑上?
作者: zhuyiwen    时间: 2012-7-23 01:31
yhf 发表于 2012-7-22 18:22
请教:存放临时表的 tempdb 数据库 是在SQL服务器上还是在本地电脑上?

服务器上
作者: yhf    时间: 2012-7-24 08:31
zhuyiwen 发表于 2012-7-23 01:31
服务器上

再请教朱老师:执行某操作时要生成临时表a, 多用户使用时,用户1生成表a、用户2生成表a、用户3生成表a ... ,各用户分别对表a的数据编辑,如何不冲突?用户1停止操作时删除临时表a ,其他用户咋办?是否不同用户有不同的 tempdb ?谢谢!
作者: zhuyiwen    时间: 2012-7-24 08:46
yhf 发表于 2012-7-24 08:31
再请教朱老师:执行某操作时要生成临时表a, 多用户使用时,用户1生成表a、用户2生成表a、用户3生成表a .. ...

所谓临时表,就是临时使用。

正确的使用的使用临时表的方法是在一个会话中会用,例如,在一个存储过程中,当会话结束时,临时表会自动删除。因此,一般不会存在读写冲突的问题,每个用户都有自己的会话。

而永久临时表则不相同,慎用。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3