【发布时间】:2012-03-23 14:02:06
【问题描述】:
这个特定的语句是什么意思,我遇到了一个存储过程,其中这个条件被多次验证。
谁能帮我解释一下。好吧,我大致了解我们正在检查这个临时表是否存在。
我不明白两个点“..”是什么意思,“U”是什么意思
IF OBJECT_ID('TEMPDB..#tablename', 'U') IS NOT NULL
【问题讨论】:
标签: sql-server-2005 stored-procedures temp-tables
这个特定的语句是什么意思,我遇到了一个存储过程,其中这个条件被多次验证。
谁能帮我解释一下。好吧,我大致了解我们正在检查这个临时表是否存在。
我不明白两个点“..”是什么意思,“U”是什么意思
IF OBJECT_ID('TEMPDB..#tablename', 'U') IS NOT NULL
【问题讨论】:
标签: sql-server-2005 stored-procedures temp-tables
OBJECT_ID 函数检查该特定表是否存在于数据库中,并且 U 指定了 USER TABLE。
【讨论】:
...'TEMPDB..' 前缀表示它存在于 tempdb 数据库中的默认架构下(通常为 dbo)。
【讨论】:
查看OBJECT_ID 文档。它返回数据库中对象的标识符。在这种情况下,它会在默认模式 (..) 中查找用户 ('U') 创建的名为 #tablename 的临时表。
您还可以查看sys.objects 文档。特别是有效的“object_type”值的“type”。
【讨论】: