if not object_id('Tempdb..#T') is null drop table #T??
时间:2011-11-30
来源:互联网
drop table #T
这句话什么意思呢?好像我经常看到这类的语句,看那个object_id是否存在,要不就删掉这个TABLE,写这句命令是为了什么呢?什么时候才要写这命令的呢?我是不是很菜,呵
作者: qq576420473 发布时间: 2011-11-30
如果 tempdb数据库中的#T临时表存在的话,则删除它.
删除它的目的是后面想要生成这个临时表,如果原先有,就生成不了了.
作者: qianjin036a 发布时间: 2011-11-30
作者: xuam 发布时间: 2011-11-30
那一句就是 如果函数object_id 返回的结果 不为 null 就执行下面的语句
作者: Beirut 发布时间: 2011-11-30
重要提示:
使用 OBJECT_ID 不能查询非架构范围内的对象(如 DDL 触发器)。对于在 sys.objects 目录视图中找不到的对象,需要通过查询适当的目录视图来获取该对象的标识号。例如,若要返回 DDL 触发器的对象标识号,请使用 SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog'。
Transact-SQL 语法约定
语法
OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]
object_name' [ ,'object_type' ] )
参数
' object_name '
要使用的对象。object_name 的数据类型为 varchar 或 nvarchar。如果 object_name 的数据类型为 varchar,则它将隐式转换为 nvarchar。可以选择是否指定数据库和架构名称。
' object_type '
架构范围的对象类型。object_type 的数据类型为 varchar 或 nvarchar。如果 object_type 的数据类型为 varchar,则它将隐式转换为 nvarchar。有关对象类型的列表,请参阅 sys.objects (Transact-SQL) 中的 type 列。
返回类型
int
异常
对于空间索引,OBJECT_ID 返回 NULL。
出现错误时,返回 NULL。
用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 OBJECT_ID)可能返回 NULL。有关详细信息,请参阅元数据可见性配置和元数据可见性故障排除。
注释
当该参数对系统函数可选时,则采用当前数据库、主机、服务器用户或数据库用户。内置函数后面必须跟括号。
当指定临时表名时,除非当前数据库为 tempdb,否则必须在该临时表名之前加上数据库名称。例如:SELECT OBJECT_ID('tempdb..#mytemptable')。
系统函数可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。有关详细信息,请参阅表达式(Transact-SQL)和 WHERE (Transact-SQL)。
作者: Beirut 发布时间: 2011-11-30
object_id 是一个系统函数 返回架构范围内对象的数据库对象标识号。
那一句就是 如果函数object_id 返回的结果 不为 null 就执行下面的语句

作者: fredrickhu 发布时间: 2011-11-30
作者: fredrickhu 发布时间: 2011-11-30
我要在数据库中建立一个表,但又不确定该数据库中是否存在该表,则判断如果存在该表,则删除。
因为如果不删除这个同名的表,则新建同名表则会报错不允许创建
作者: renwenli07461 发布时间: 2011-11-30
作者: gogodiy 发布时间: 2011-11-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28