rvp*_*phx 0 sql-server temp-tables
这可能是一个多部分问题:
当我发布声明时
IF OBJECT_ID('temp..#tablename) IS NOT NULL --drop the table here
Run Code Online (Sandbox Code Playgroud)
它不会删除临时表.当我去看临时数据库时,这个名字是完全不同的......
#tablename___________________________________________00000001069F
Run Code Online (Sandbox Code Playgroud)
显然,drop语句不适用于此.如何使用上述语句确保临时表被删除.
另外,如果我在create temp table语句之前使用"USE dbName",临时表是否仍然在tempdb或dbName数据库中创建?默认值是tempDb吗?
谢谢,RV.
使用应该使用
OBJECT_ID('tempDB..#tablename')
Run Code Online (Sandbox Code Playgroud)
不
OBJECT_ID('temp..#tablename')
Run Code Online (Sandbox Code Playgroud)
临时表是否仍在tempdb或dbName数据库中创建?默认值是tempDb吗?
是
临时表始终在TEMPDB中创建.
你看到名字的原因_____00000001069F是由于Temp表是特定于会话的,而SQL负责为它们分配名称,因此名称不会冲突,即使它们在具有相同名称的并行会话中使用
在DBA.SE上查看这个答案以获取更多信息,特别是查看Temp Tables部分:
| 归档时间: |
|
| 查看次数: |
3074 次 |
| 最近记录: |