Sql server select - 包含列名和值的varchar

时间:2013-07-15 06:05:15

标签: c# sql sql-server

我需要添加一堆c#代码来测试表的值。直接连接到数据源是不可能的(这需要是静态代码)。

输出

X.AddColumn("ColumnName",ColumnValue);

我想得到一个SQL语句,对于一个表返回上面的模式,列出一行的每一列,遍历表中的每一行。

我希望在数据库中有一个select语句,我可以复制并粘贴结果集,理想情况是一个动态通过列的语句,以便为我希望输出的每个表保存下面的内容。

SELECT 'X.AddColumn("ColumnName1", ' + CONVERT(VARCHAR, ColumnName1, 100) +');' AS Col1
...
'X.AddColumn("ColumnNameN", ' + CONVERT(VARCHAR, ColumnNameN, 100) +');' AS ColN
FROM
Schema.Table1

1 个答案:

答案 0 :(得分:2)

在我的头脑中,这是一个两步过程:

运行以下语句。它将为表的每个列创建一个查询(类似select 'x.AddColumn("Column1", ' + Convert(varchar, Column1, 100) +' )' from dbo.Table1

SELECT 'select ''x.AddColumn("' + c.column_name 
       + '", ''+ Convert(varchar, ' + c.column_name 
       + ',100)+'' )'' from ' + c.table_schema + '.' 
       + c.table_name 
FROM   information_schema.columns c 
WHERE  c.table_name = 'Table1' 
       AND c.table_schema = 'dbo'  

复制上述语句的输出并运行它。它应该为您提供所需的输出。