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
  • 相关阅读:
    Qt QListWidgetItem的添加与删除
    Qt QListWidget中实现每个单元项显示文字在上图片在下
    Qt QListWiget的Item的icon大小设置
    Qt 控制Widget窗体大小方法
    装饰模式(Decorator)C++实现
    C++ 结构型模式
    Qt 创建一个excel文件(通过save as 方法)
    深度学习之 YOLO v1,v2,v3详解
    Qt excel 操作使用说明
    “云钉一体”背后,阿里云希望改变什么?
  • 原文地址:https://www.cnblogs.com/minideas/p/2797235.html
Copyright © 2011-2022 走看看