如何从MS SQL数据表列默认值(How to retrieve column default va

2019-09-16 17:46发布

我使用DataAdapter.FillSchema检索从MS SQL表的架构。 不幸的是这不返回该列的默认值。 有没有一种方法来检索这个值作为方案的一部分,在一个快速和有效的方式,因为我需要检查数百个表?

谢谢!

Answer 1:

缺省值是在仅行插入的时间来确定。

作为替代方案,您可以利用INFORMATION_SCHEMA

SELECT TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT
FROM AdventureWorks2012.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Person';


Answer 2:

请尝试以下查询:

SELECT object_definition(default_object_id) AS definition
FROM   sys.columns
WHERE  name      ='ColumnName'
AND    object_id = object_id('TableName')


Answer 3:

有没有办法可以使用FillSchema的做到这一点。 有关详细信息查看以下链接http://msdn.microsoft.com/en-us/library/229sz0y5.aspx

INFORMATION_SCHEMA是你应该看的地方。 INFORMATION_SCHEMA包含很多系统视图,可以显示你的数据库结构的细节。 例如

INFORMATION_SCHEMA.TABLES:你显示数据库中INFORMATION_SCHEMA.COLUMNS表的列表:显示你的数据库的所有表中的列及其属性的列表。 请看看更多细节以下位置。

http://msdn.microsoft.com/en-us/library/ms186778.aspx

要使用查询,您可以使用下面的查询获取默认值:

SELECT *
FROM INFORMATION_SCHEMA.Columns
WHERE TABLE_NAME = 'YourTableName'


Answer 4:

你应该尝试这样的事情来检索表的模式。

public partial class Form1 : Form
{
    //create connectionString variable
    const string conString = @"Data Source=.\SQLEXPRESS; Initial Catalog=DBTest; Integrated Security=SSPI";

    SqlConnection cn = null;
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        this.getTableSchema();
    }

 //function to get the schemas from the Tables in MSSQLSERVER
    private void getTableSchema()
    {
        try
        {

            cn = new SqlConnection(conString);
            cn.Open();

            //call the getSchema Method of the SqlConnection Object passing in as a parameter the schema to retrieve
             DataTable dt = cn.GetSchema("tables");

           //Binded the retrieved data to a DataGridView to show the results.
            this.dataGridView1.DataSource = dt;


        }
        catch (Exception)
        {

            throw;
        }
    }


}

编辑:在conString关闭报价



文章来源: How to retrieve column default value from MS SQL data table