我在SQL Server中有这样的选择:
Select name, email, username, tel
from ViewName
我想从该选择中获取列名列表。
注意:
1。我没有表名
2. 选择查询是动态的
选择查询在视图中
答案 0 :(得分:1)
试试这个:
我希望这会动态运行,它会选择所有
columns
取决于您在Table_View_Name
中传递的parameter
。
declare @tab varchar(max)='Your_Dynamic_Table_View_Name'
declare @txt varchar(max)='SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name ='+@tab
declare @columns varchar(max)=(SELECT
STUFF((
SELECT ', ' + COLUMN_NAME
FROM information_schema.columns where table_name=@tab
FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')
,1,2,'') AS NameValues)
exec('select '+@columns+' from '+@tab)
答案 1 :(得分:0)
试试这些..
sp_help 'viewName'
或
select c.* from syscolumns c inner join sysobjects o on o.id=c.id where o.name='viewName'