SQL Server 判断表名称、索引、表字段是否存在

1.判断索引是否存在

ps:@tableName 表名称, @indexName 索引名

 

IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(@tableName, N'U') and NAME=@indexName)
BEGIN
    DROP INDEX @indexName ON @tableName
END

 

 

2.判断表名称是否存在

①:判断临时表是否存在

IF OBJECT_ID(N'tempdb..#temp', N'U') IS NOT NULL
BEGIN
  DROP TABLE #temp;
END

 

创建临时表

 SELECT * INTO #temp FROM @tableName --将 表中数据存入临时表 #temp 中

 

②判断表是否存在

--方法一
IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '@tableName')
BEGIN
    PRINT '已存在'
END
ELSE
BEGIN
    PRINT '不存在'
END

--方法二
IF OBJECT_ID (N'@tableName', N'U') IS NOT NULL
BEGIN
    PRINT '已存在'
END
ELSE
BEGIN
    PRINT '不存在'
END

 ③判断表字段是否存在

IF COL_LENGTH('@tableName', '字段名') IS NULL
BEGIN
  PRINT '不存在'
END

 

posted @ 2019-08-22 11:45  常威打来福  阅读(5787)  评论(0编辑  收藏  举报