図書館でのSQLServer TSQL GETすべてのテーブル

DECLAREの @tblNameの NVARCHAR128 DECLARE my_cursor カーソル
のためのSELECT  [ ]  から SYSOBJECTS XTYPE = ' U- ' オープンmy_cursorは
 FETCH 次へ my_cursor INTO @tblName ながら@@ FETCH_STATUS = 0 始める- INSERT INTO [DBO] [。 TEMP]([表]、[ID]、[カラム名]、[カラム説明]、[データタイプ]、[長さ]、[小数]、[ロゴ]、[主キー]、[NULLを許容]、 [デフォルト])SELECT CASE col.colorder   
   
    
        
           =  1  THEN obj.name ELSEを '  END  ASのテーブルは、
                col.colorder ASの数、
                col.name ASの、列名を
                 ISNULL(EP。[ ]'' ASの列の記述を、
                t.name ASのデータ・タイプ、
                COL .LENGTH ASの長さ、
                 ISNULLCOLUMNPROPERTY(col.id、col.name、' スケール')、0AS小数位数、
                 CASE  COLUMNPROPERTY(col.id、col.name、' IsIdentity '= 1 THEN ' 1 ' ELSE '' END AS 标识、
                 CASE EXISTSはSELECT 1 FROM      dbo.sysindexes SI
                                             INNER JOIN dbo.sysindexkeys SIKをON si.id = sik.id
                                                                       AND si.indid =             
                                    sik.indid
                                             INNERは 、JOIN dbo.syscolumns SC ON sc.id = sik.id
                                                                       AND sc.colid = sik.colid
                                             INNERは 、JOIN dbo.sysobjectsをとてもON so.name = si.name
                                                                       AND so.xtype =  ' PK '
                                        SCを。 ID = col.id
                                             ANDsc.colid = col.colid)THEN  ' 1 ' 
                     ELSE  '' 
                END  AS 主键、
                 CASE  WHEN col.isnullable =  1  THEN  ' 1 ' 
                     ELSE  '' 
                END  AS 允许空、
                 ISNULL(COMM。テキスト'' AS 默认值
         FROM     dbo.syscolumns COL
                 LEFTが  JOIN dbo.systypes T ON col.xtype = t.xusertype
                 インナー JOIN dbo.sysobjects OBJ ON col.id = obj.id
                                                  AND obj.xtype =  ' U ' 
                                                 AND obj.status > =  0 
                LEFTは  JOIN dbo.syscomments COMM ON col.cdefault = comm.id
                 LEFTは  JOIN sys.extended_propertiesはEP ON COL .ID = ep.major_id
                                                               AND col.colid = ep.minor_id
                                                              AND ep.name =  ' MS_Description ' 
                LEFTは  JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id
                                                                  AND epTwo.minor_id =  0 
                                                                 AND epTwo.name =  ' MS_Description '
            obj.name = @tblName ORDER BY col.colorderが
         フェッチ次の my_cursor @tblNameの終わり近くのmy_cursorの
 割り当てを解除 
            
    
my_cursor
 行きます

 

おすすめ

転載: www.cnblogs.com/hofmann/p/12018103.html