zoukankan      html  css  js  c++  java
  • 【转】SQL SERVER中查询某个表或某个索引是否存在

    查询某个表是否存在:
    在实际应用中可能需要删除某个表,在删除之前最好先判断一下此表是否存在,以防止返回错误信息。在SQL SERVER中可通过以下语句实现:
    IF OBJECT_ID(N'表名称', N'U') IS NOT NULL 
    DROP TABLE 表名称;
    注意,普通表和临时表的使用差别:
    若希望删除TEST库中的dbo.TestTable表,直接将dbo.TestTable作为表名即可。
    若希望删除临时表dbo.#temp_table,需要以tempdb.dbo.#temp_table作为表名。
    查询表上的某个索引是否存在:
    通常情况下,为了提高数据的查询效率,我们会为表的特定字段创建索引,同一个表上的索引名称是不同的。那么如何判断某个表是否已经存在特定名称的索引了呢?可通过下面的语句判断:
    SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(@tname, N'U') and NAME=@iname
    其中:@tname表示建索引的表名,@iname表示索引名。
    扩展知识
    在每一个数据库中都有sys.sysobjects用于包括在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)。详细的说明信息参看MSDN上的帮助文档:sys.sysobjects
    OBJECT_ID的作用是返回架构范围内对象的数据库对象标识号。如果找不到数据库或对象的名称,例如相应名称不存在或拼写不正确,则会返回NULL。详细的说明信息参看MSDN上的帮助文档:object_id
    sys.indexes用于保存每个表格对象(例如,表、视图或表值函数)的索引或堆,详细的说明信息参看MSDN上的帮助文档:sys.indexes
  • 相关阅读:
    pandas 分组过滤
    bert fine tuning方法
    对字典进行排序
    1*1的卷积的作用
    使用Conv代替全连接层FC
    训练笔记
    javascript 正则分组捕捉
    谷歌浏览器 喔唷,崩溃啦
    sed awk
    c# 通过程序修改hosts文件
  • 原文地址:https://www.cnblogs.com/minideas/p/2797235.html
Copyright © 2011-2022 走看看