有没有简单的方法来获取从 SQL 语句返回的列名?
如:
SELECT *
FROM ATable
FULL OUTER JOIN BTable b ON a.SOME_KEY = b.SOME_KEY
FULL OUTER JOIN CTable c ON b.SOME_ID = c.SOME_ID
FULL OUTER JOIN DTable d ON a.SOME_OTHER_ID = d.SOME_OTHER_ID
WHERE a.SOME_KEY = @key AND c.SOME_SERIAL_NR = @serialnumber
Run Code Online (Sandbox Code Playgroud)
我似乎无法得到
select column_name
from information_schema.columns
where table_name = 'table'
Run Code Online (Sandbox Code Playgroud)
在我当前的环境中工作
我更喜欢这个查询,原因有很多:
SELECT
[table] = s.name + N'.' + t.name,
[column] = c.name
FROM sys.columns AS c
INNER JOIN sys.tables AS t
ON c.[object_id] = t.[object_id]
INNER JOIN sys.schemas AS s
ON t.[schema_id] = s.[schema_id]
WHERE t.name IN (N'ATable', N'BTable', N'CTable', N'DTable');
Run Code Online (Sandbox Code Playgroud)
INFORMATION_SCHEMA
视图 - 这不会导致此特定查询出现问题,但在某些情况下您无法依赖来自INFORMATION_SCHEMA
N
上的字符串文字前缀当底层数据类型nchar/nvarchar
。我的解决方案的缺点:
归档时间: |
|
查看次数: |
74 次 |
最近记录: |