Sql Server中语法的含义

时间:2012-03-06 04:18:59

标签: sql-server-2005 stored-procedures temp-tables

这个特定的陈述是什么意思,我遇到了一个存储过程,这个条件被多次验证。

任何人都可以帮我解释一下。我广泛理解我们正在检查这个临时表是否存在。

我不明白这两个点是什么'..'表示'U'是什么意思

IF OBJECT_ID('TEMPDB..#tablename', 'U') IS NOT NULL

3 个答案:

答案 0 :(得分:1)

OBJECT_ID函数检查数据库中是否存在该特定表,U指定USER TABLE。

答案 1 :(得分:1)

... 'TEMPDB..'前缀表示它存在于默认架构(通常为dbo)下的tempdb数据库中。

答案 2 :(得分:0)

查看OBJECT_ID文档。它返回数据库中对象的标识符。在这种情况下,它正在寻找一个用户('U')在默认模式(..)中创建名为#tablename的临时表。

您还可以查看sys.objects文档。特别是'type'表示有效的'object_type'值。