zoukankan      html  css  js  c++  java
  • 读取SQLServer2000的系统数据 荣

    取得数据库中的表信息

    SELECT Script = CASE WHEN ep.[Value] IS NULL THEN oj.Name ELSE ep.[Value]  END, oj.Name AS TableName, oj.id AS id, oj.crdate AS createDate,
     oj.type AS tableType FROM dbo.sysobjects oj
     LEFT JOIN dbo.sysproperties ep ON ep.type = oj.id AND ep.smallid = 0 ORDER BY oj.id


    取得数据库中所有列信息的SQL语句:

    SELECT oj.Name AS TableName, cl.Name AS ColumnName,tp.Name AS ColumnType,
    tp.xtype AS ColumnTypeIndex, cl.length, cl.xscale AS decimaldigits,
     Script =  CASE  WHEN ep.[Value] IS Null THEN cl.Name ELSE ep.[Value] END,
    DefaultValue = CASE WHEN cm.text IS NULL THEN '' WHEN cm.text = '(getdate())' THEN '当前日期'  ELSE cm.text  END,
    cl.isnullable, cl.colstat AS IsMarking, cl.id, cl.colid FROM dbo.syscolumns cl LEFT JOIN dbo.sysobjects oj ON oj.id = cl.id
    LEFT JOIN dbo.systypes tp ON cl.xtype = tp.xtype LEFT JOIN dbo.syscomments cm ON cm.id=cl.cdefault
    LEFT JOIN dbo.sysproperties ep ON ep.type = cl.id AND ep.smallid = cl.colid
    WHERE oj.type='U' AND tp.Name != 'sysname' ORDER BY oj.id, cl.colid

    取得数据库中的外键信息:

    SELECT OBJECT_NAME(fk.constid) AS FKName, fk.constid AS FKID,
     OBJECT_NAME(fk.fkeyid) AS TableName, fk.fkeyid AS TableID, cl.name AS ColumnName, RCol.name AS RColumnName,
     OBJECT_NAME(fk.rkeyid) AS ParentTableName, fk.rkeyid AS ParentTableID FROM dbo.sysobjects oj INNER JOIN
     dbo.sysforeignkeys fk ON  oj.xtype = 'F' AND  oj.id = fk.constid INNER JOIN dbo.syscolumns cl ON 
     fk.fkeyid = cl.id INNER JOIN dbo.syscolumns RCol ON fk.rkeyid = RCol.id AND fk.fkey = cl.colid AND fk.rkey = RCol.colid


    取得数据库表的主键信息:
    存储过程:sp_pkeys  参数@table_name
  • 相关阅读:
    Computer Vision 基础学习
    PHP遍历文件夹下的文件时遇到中文目录乱码问题
    Note -「模板」矩阵
    Note -「模板」高斯消元
    Solution -「CF113D」Museum
    【更新中】后缀数组学习笔记
    【题解】ABC225F
    【更新中】2021ZR模拟赛要题记录
    【游记】CSP-S-2021
    【题解】#2019 [zr联赛集训day3]史上第四简洁的题面
  • 原文地址:https://www.cnblogs.com/admin11/p/882898.html
Copyright © 2011-2022 走看看