我们能否获得SELECT查询返回结果的模式?以下是代码:
string SQLQuery = "SELECT DISTINCT c.name 'Column Name', t.Name 'Data type' FROM" +
" sys.columns c INNER JOIN " +
" sys.types t ON c.system_type_id = t.system_type_id" +
" LEFT OUTER JOIN " +
" sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id" +
" LEFT OUTER JOIN" +
" sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id" +
" WHERE" +
" c.object_id = OBJECT_ID('[DB].[dbo].[" + ddlTable.SelectedItem.Text + "]') AND t.name <> 'sysname'";
这段代码返回指定表的列名及其数据类型。我的需求是从select查询中获取列名及其数据类型,而不是直接指定表名,就像:
string SQLQuery = "SELECT DISTINCT c.name 'Column Name', t.Name 'Data type' FROM" +
" sys.columns c INNER JOIN " +
" sys.types t ON c.system_type_id = t.system_type_id" +
" LEFT OUTER JOIN " +
" sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id" +
" LEFT OUTER JOIN" +
" sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id" +
" WHERE" +
" c.object_id = OBJECT_ID('SELECT col1, col2 from table(s)') AND t.name <> 'sysname'";
虽然这样做无效。