Sql服务器选择-包含列名和值的varchar
本文关键字:varchar 服务器 选择 -包 Sql | 更新日期: 2023-09-27 18:22:23
我需要添加一堆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
在我的脑海中,这是一个两步的过程:
运行下面的语句。它将为表的每一列创建一个查询(类似于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'
复制上面语句的输出并运行它。它应该会为您提供所需的输出。