DB2数据库中如何查看comment

DB2数据库中如何查看comment,第1张

select column_name, type_name, remarks from "SYSIBM"."SQLCOLUMNS" where table_name=? order by table_name

其中remarks 就是你想要看的 comment

select t.Remarks as 注释,t.* from syscat.COLUMNS t

where tabschema='模式名' and tabname=upper('表名')

db2look貌似不行,可以自己写一个存储过程来实现,下面是我写的一个C#抽取db2表的索引,供参考。

/// <summary>

/// 获得一个表的索引信息

/// </summary>

/// <param name="aStrDBName">数据库名</param>

/// <param name="aStrSchema">模式名</param>

/// <param name="aStrTBName">表名</param>

/// <returns></returns>

public static DataTable GetIndexes(string aStrDBName, string aStrSchema, string aStrTBName)

{

ConnectionString cnn = GetConnection(aStrDBName)

if (cnn == null)

{

return null

}

else

{

string strSql = @"select b.COLCOUNT, b.COLNAMES,b.IID,b.INDNAME,b.INDSCHEMA,b.TABNAME,b.TABSCHEMA,b.UNIQUERULE,b.REMARKS

from syscat.INDEXES b

where b.TABSCHEMA = '{0}' and b.TABNAME = '{1}'

order by b.IID"

strSql = string.Format(strSql, aStrSchema, aStrTBName)

return SQLHelper.ExecuteDataTable(cnn, strSql)

}

}

/// <summary>

/// 获得索引语句信息

/// </summary>

/// <param name="aStrDBName">数据库名</param>

/// <param name="aStrSchema">模式名</param>

/// <param name="aStrTBName">表名</param>

/// <param name="aStrTerminator">语句终结符</param>

/// <returns></returns>

public static string GetIndexesInfo(string aStrDBName, string aStrSchema, string aStrTBName, string aStrTerminator)

{

return GetIndexesInfo(GetIndexes(aStrDBName, aStrSchema, aStrTBName), aStrTerminator)

}

/// <summary>

/// 获得索引语句信息

/// </summary>

/// <param name="aDtIndexes">索引表</param>

/// <param name="aStrTerminator">语句终结符</param>

/// <returns></returns>

public static string GetIndexesInfo(DataTable aDtIndexes, string aStrTerminator)

{

string strInfo = ""

if (aDtIndexes != null)

{

foreach (DataRow drIndex in aDtIndexes.Rows)

{

if (drIndex["UNIQUERULE"].ToString().Trim() != "P")

{

strInfo += "\r\n\r\n"

strInfo += string.Format("CREATE {4}INDEX {0}.{1}\r\n ON {2}.{3}\r\n{5}{6}",

drIndex["INDSCHEMA"].ToString().Trim(), drIndex["INDNAME"].ToString().Trim(),

drIndex["TABSCHEMA"].ToString().Trim(), drIndex["TABNAME"].ToString().Trim(),

drIndex["UNIQUERULE"].ToString().Trim() == "U" ? "UNIQUE " : "",

GetIndexColumnsInfo(drIndex["COLNAMES"].ToString().Trim()), aStrTerminator)

}

}

}

return strInfo

}

/// <summary>

/// 获得索引的列字段

/// </summary>

/// <param name="aStrColNames">索引列字符串</param>

/// <returns></returns>

private static string GetIndexColumnsInfo(string aStrColNames)

{

aStrColNames = aStrColNames.Replace("+", ",ASC ").Replace("-", ",DESC ")//替换升序降序符号

string[] strCols = aStrColNames.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)

aStrColNames = "("

foreach (string s in strCols)

{

aStrColNames += s.Substring(s.IndexOf(" ") + 1) + " " + s.Substring(0, s.IndexOf(" ")) + ","

}

aStrColNames = aStrColNames.TrimEnd(new char[] { ',' }) + ")"

return aStrColNames

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11728712.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存