<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      刪除Sqlserver數據庫中所有表和字段的備注說明

      刪除Sqlserver數據庫中所有表和字段的備注說明

       

        有時我們有這樣的需求,我們做了一個產品發布到互聯網上,但又不想讓用戶知道了數據庫各個表名、字段的備注信息(這些信息我們可能在設計時放了中文名稱),別人用個PowerDesigner逆向工程,一下子就把你的設計給導進去了,中文都暴露在用戶眼前,有時這不是我們所期望的,那么在SqlServer中如何刪除數據庫中所有表和字段的備注說明呢,下面的存儲過程即可做到!  

      IF EXISTS ( SELECT  1
                  FROM    sys.objects
                  WHERE   name = 'P_DeleteDscirption'
                          AND type = 'p' ) 
          BEGIN
              DROP PROCEDURE P_DeleteDscirption
          END
      GO
      CREATE PROCEDURE P_DeleteDscirption
      AS 
          BEGIN
          
              IF OBJECT_ID('tempdb..#temp') IS NOT NULL 
                  DROP TABLE #temp
                  
              DECLARE @index INT ,
                  @rowCount INT ,
                  @tableID INT ,
                  @colID INT ,
                  @Sql NVARCHAR(4000) ,
                  @colName NVARCHAR(200) ,
                  @tableName NVARCHAR(200) 
              -------------緩存臨時數據    
              SELECT  t.name AS TableName ,
                      c.name AS ColumnName ,
                      c.object_id AS TableID ,
                      c.column_id AS ColID
              INTO    #temp
              FROM    sys.columns AS c
                      LEFT JOIN sys.objects AS t ON c.object_id = t.object_id
              WHERE   t.type = 'u'
              
              -------------獲取循環閥值
              SELECT  @index = 0 ,
                      @rowCount = COUNT(1)
              FROM    (SELECT DISTINCT
                              TableName
                       FROM   #temp
                      ) AS t
              
              WHILE (@index < @rowCount) 
                  BEGIN
                      SELECT  @Sql = N'' ,
                              @index = @index + 1
                      -------------取出表名和表的object_id      
                      SELECT  @tableName = t.TableName ,
                              @tableID = T.TableID
                      FROM    (SELECT DISTINCT
                                      TableName ,TableID,
                                      DENSE_RANK() OVER (ORDER BY TableName) AS [rowIndex]
                               FROM   #temp
                              ) AS t
                      WHERE   t.rowIndex = @index 
                      -------------判斷表是否有說明
                      IF EXISTS ( SELECT  * FROM    sys.extended_properties WHERE   major_id = @tableID AND minor_id = 0 AND name = N'MS_Description' ) 
                          BEGIN
                              SET @Sql = @Sql
                                  + 'EXEC sys.sp_dropextendedproperty @name = N''MS_Description'' ,@level0type = N''SCHEMA'', @level0name = N''dbo'' , @level1type = N''TABLE'' ,@level1name = '
                                  + 'N''' + @tableName + '''' + ';' + CHAR(13)
                    
                              EXECUTE sys.sp_executesql @Sql
                              PRINT @Sql
                          END
                  END
       
              -------------獲取循環閥值
              SELECT  @index = 0 ,
                      @rowCount = COUNT(1)
              FROM    #temp
       
       
              WHILE (@index < @rowCount) 
                  BEGIN
                      SELECT  @Sql = N'' ,
                              @index = @index + 1
                      
                      -------------取出表明列名,object_id,column_id
                      SELECT  @tableID = t.TableID ,
                              @colID = t.ColID ,
                              @tableName = t.TableName ,
                              @colName = t.ColumnName
                      FROM    (SELECT DISTINCT TableName , ColumnName , colID, TableID,
                                      ROW_NUMBER() OVER (ORDER BY TableName, ColumnName) AS [rowIndex]
                               FROM   #temp
                              ) AS t
                      WHERE   t.rowIndex = @index
                      -------------判斷列是否存在說明
                      IF EXISTS ( SELECT  * FROM sys.extended_properties WHERE major_id = @tableID AND minor_id = @colID AND name = N'MS_Description' ) 
                          BEGIN
                              SET @Sql = @Sql
                                  + 'EXEC sys.sp_dropextendedproperty @name = N''MS_Description'',@level0type = N''SCHEMA'', @level0name = N''dbo'' , @level1type = N''TABLE'' ,@level1name = '
                                  + N'''' + @tableName + ''''
                                  + ',@level2type = N''COLUMN'''
                                  + ',@level2name =''' + N'' + @colName + ''';'
                                  + CHAR(13)
                              
                              PRINT @Sql
                              EXECUTE sys.sp_executesql @Sql
                          END
                  END
              -------------清除臨時表
              IF OBJECT_ID('tempdb..#temp') IS NOT NULL 
                  DROP TABLE #temp
          END

       

       

       

      posted @ 2013-11-08 14:53  .NET快速開發框架  閱讀(3106)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产一区二区在线影院| 日日碰狠狠添天天爽超碰97| 97成人碰碰久久人人超级碰oo| 久久亚洲日本激情战少妇| 国模精品视频一区二区三区 | 亚洲精品www久久久久久| 娇妻玩4p被三个男人伺候| 日本欧美一区二区三区在线播放| 性色av蜜臀av色欲av| 国产成人精品久久性色av| 精品九九人人做人人爱| 亚洲日韩AV秘 无码一区二区| 狠狠亚洲色一日本高清色| 国外av片免费看一区二区三区| 久久精品国产亚洲夜色AV网站| 周宁县| 噜妇插内射精品| 国产高清一区二区不卡| 风流老熟女一区二区三区| 99久久国产一区二区三区| 国产丰满乱子伦无码专区 | 国产第一页屁屁影院| 熟女视频一区二区三区嫩草| 中文字幕成人精品久久不卡| 欧美肥妇毛多水多bbxx| 乱码精品一区二区亚洲区| 国产精品色哟哟在线观看| 亚洲午夜精品国产电影在线观看| 在线观看国产成人av天堂| 黄色三级亚洲男人的天堂| 牲欲强的熟妇农村老妇女视频| 青青草国产精品日韩欧美| 精品视频在线观看免费观看| 精品久久8x国产免费观看| 92自拍视频爽啪在线观看| 亚洲综合日韩av在线| 国产极品美女高潮抽搐免费网站| 亚洲中文字幕av不卡无码| 虎白女粉嫩尤物福利视频| 久久久国产一区二区三区四区小说| 亚洲精品综合网中文字幕|