欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SQL SERVER 2005 獲取表的所有索引信息以及刪除

系統 4297 0
原文: SQL SERVER 2005 獲取表的所有索引信息以及刪除和新建語句

      BEGIN

        WITH tx AS

        (

                SELECT a.object_id

                      ,b.name AS schema_name

                      ,a.name AS table_name

                      ,c.name as ix_name

                      ,c.is_unique AS ix_unique

                      ,c.type_desc AS ix_type_desc

                      ,d.index_column_id

                      ,d.is_included_column

                      ,e.name AS column_name

                      ,f.name AS fg_name

                      ,d.is_descending_key AS is_descending_key

                      ,c.is_primary_key

                      ,c.is_unique_constraint

                  FROM sys.tables AS a

                 INNER JOIN sys.schemas AS b            ON a.schema_id = b.schema_id AND a.is_ms_shipped = 0

                 INNER JOIN sys.indexes AS c            ON a.object_id = c.object_id

                 INNER JOIN sys.index_columns AS d      ON d.object_id = c.object_id AND d.index_id = c.index_id

                 INNER JOIN sys.columns AS e            ON e.object_id = d.object_id AND e.column_id = d.column_id

                 INNER JOIN sys.data_spaces AS f        ON f.data_space_id = c.data_space_id

        )

        SELECT

               Drop_Index   = CASE WHEN (a.is_primary_key = 1 OR a.is_unique_constraint = 1)

                                   THEN 'ALTER TABLE ' + a.table_name + ' DROP CONSTRAINT ' + a.ix_name

                                   ELSE 'DROP INDEX ' + a.ix_name collate SQL_Latin1_General_CP1_CI_AS + ' ON ' + a.schema_name + '.' + a.table_name  END

              ,Create_Index = CASE WHEN (a.is_primary_key = 1 OR a.is_unique_constraint = 1)

                                   THEN 'ALTER TABLE ' + a.table_name + ' ADD CONSTRAINT ' + a.ix_name 

                                       + CASE WHEN a.is_primary_key = 1 THEN ' PRIMARY KEY' ELSE ' UNIQUE' END + '(' + indexColumns.ix_index_column_name + ')'

                                   ELSE 'CREATE ' + CASE WHEN a.ix_unique = 1 THEN 'UNIQUE ' ELSE '' END 

                                       + a.ix_type_desc + ' INDEX ' + a.ix_name collate SQL_Latin1_General_CP1_CI_AS + ' ON ' + a.schema_name

                                       + '.' + a.table_name + '(' + indexColumns.ix_index_column_name + ')'

                                       + CASE WHEN IncludeIndex.ix_included_column_name IS NOT NULL THEN ' INCLUDE (' + IncludeIndex.ix_included_column_name + ')' ELSE '' END

                                       + ' ON [' + a.fg_name +']' END

              ,CASE WHEN a.ix_unique = 1 THEN 'UNIQUE' END AS ix_unique

              ,a.ix_type_desc

              ,a.ix_name

              ,a.schema_name

              ,a.table_name

              ,indexColumns.ix_index_column_name

              ,IncludeIndex.ix_included_column_name

              ,a.fg_name

              ,a.is_primary_key

              ,a.is_unique_constraint                                       

        FROM

        (

                SELECT DISTINCT

                       ix_unique

                      ,ix_type_desc

                      ,ix_name

                      ,schema_name

                      ,table_name

                      ,fg_name

                      ,is_primary_key

                      ,is_unique_constraint

                  FROM tx

        ) AS a

        OUTER APPLY

        (

                SELECT ix_index_column_name

                       = STUFF((

                                SELECT ',' + column_name + CASE WHEN is_descending_key = 1 THEN ' DESC' ELSE '' END

                                  FROM tx AS b

                                 WHERE schema_name = a.schema_name

                                   AND table_name=a.table_name

                                   AND ix_name=a.ix_name

                                   AND ix_type_desc=a.ix_type_desc

                                   AND fg_name=a.fg_name

                                   AND is_included_column=0

                                 ORDER BY index_column_id

                                   FOR XML PATH('')

                                ),1,1,'')

        )IndexColumns

        OUTER APPLY

        (

                SELECT ix_included_column_name

                       = STUFF((

                                SELECT ',' + column_name

                                  FROM tx AS b

                                 WHERE schema_name = a.schema_name

                                   AND table_name=a.table_name

                                   AND ix_name=a.ix_name

                                   AND ix_type_desc=a.ix_type_desc

                                   AND fg_name=a.fg_name

                                   AND is_included_column=1

                                 ORDER BY index_column_id

                                   FOR XML PATH('')

                                ), 1,1,'')

        )IncludeIndex

        ORDER BY a.schema_name,a.table_name,a.ix_name;

END


    

?

SQL SERVER 2005 獲取表的所有索引信息以及刪除和新建語句


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人毛片18岁女人毛片免费看 | 成人在线播放网站 | 99久久99久久免费精品蜜桃 | 无遮挡一级毛片私人影院 | 精品亚洲综合在线第一区 | 一级在线观看视频 | 欧美日韩中文国产一区发布 | 在线精品亚洲欧美日韩国产 | 国产成人一区二区 | 欧美videosex性极品hd | 亚洲乱码在线 | 日韩精品视频免费观看 | 久久www免费人成精品 | 亚洲成年网站在线777 | 国产精品视频网站 | 精久久| 视频在线一区二区 | 欧美在线 | 亚洲 | 激情五月色播五月 | 丁香婷婷久久久综合精品国产 | 欧美手机看片 | 精品国产三级 | 日本免费观看官网 | 久久国产精品免费网站 | 国产精品日本一区二区在线播放 | 天天操网| 最新国产网址 | 欧美精品一区二区三区蜜桃视频 | 三级av | 一级毛片免费 | 青青草无限次破解版污 | 国内精品免费一区二区观看 | 色www精品视频在线观看 | 精品免费久久久久国产一区 | 久久精品一区二区三区不卡牛牛 | 一区二区视频在线 | 日本一本免费一二区 | 99re视频在线观看 | 99精品欧美一区二区三区 | 一二区视频 | 97国产精品视频人人做人人爱 |