3
A
回答
7
你可以建立使用在系统目录视图提供的信息,动态SQL语句。
下面的代码示例演示如何:
DECLARE @sql AS NVARCHAR(MAX)
DECLARE @cols AS NVARCHAR(MAX)
DECLARE @tbl NVARCHAR(MAX) = N'your_table' -- this is your source table
SELECT @cols= ISNULL(@cols + ',','') + QUOTENAME(c.name)
FROM sys.tables t
join sys.columns c ON c.object_id = t.object_id
WHERE t.name = @tbl
ORDER BY c.name
SET @sql = N'SELECT ' + @cols + ' FROM ' + @tbl
EXEC sp_executesql @sql
+0
正如现在删除的答案中指出的那样,使用'c.object_id = OBJECT_ID('TableName')'代替与'sys.tables'视图的连接是不必要的。 – jpw
0
DynamicSQL(SQL Server)的例子:你
declare @TABLE varchar(200) set @TABLE='persons'
declare @SQL nvarchar(max)
set @SQL='select '
select @SQL= @SQL + column_name + ','
from information_schema.columns where [email protected] order by column_name
select @SQL = left(@SQL,len(@SQL)-1) + ' from ' + @TABLE -- trims the trailing comma
--select @SQL -- If you want to see the query
exec sp_executesql @SQL
0
DECLARE @Table NVARCHAR(MAX)='T'--pass your table name
DECLARE @SQL NVARCHAR(MAX)='SELECT '
SELECT @[email protected]+',' +NAME FROM
(
SELECT TOP 100 QUOTENAME(NAME) AS NAME
FROM sys.columns
WHERE object_id =
(
SELECT OBJECT_ID FROM sys.tables
WHERE NAME [email protected]
)
ORDER BY NAME
) AS SS
SELECT @SQL=STUFF(@SQL,8,1,'')+' FROM '[email protected]
EXEC sp_executesql @sql
相关问题
- 1. 按字母顺序排列单词列表并按首字母顺序筛选
- 2. 如何按字母顺序排列多选项字段?
- 3. 按字母顺序排序,然后按字母顺序排列
- 4. 按字母顺序排列
- 5. MySQL - 选择按字母顺序排列的名字
- 6. 如何按字母顺序排列组?
- 7. 如何按字母顺序排列NSArray?
- 8. 如何按字母顺序排列File.listFiles?
- 9. JsonSerializer字段顺序(不想按字母顺序排列) - Java
- 10. 无法获得列按字母顺序
- 11. 按字母顺序排列PHP排序
- 12. 如何安排这段代码按字母顺序排列
- 13. 如何获得最长的按字母顺序排列的子字符串
- 14. 如何按关键字按字母顺序排列字典
- 15. SQL - 按字母顺序排序的列
- 16. 我如何获得按字母顺序在SF中的字段列表
- 17. 按字母顺序排序
- 18. 排序按字母顺序
- 19. 按字母顺序排序
- 20. 按字母顺序排序
- 21. 如何按长度排序然后按字母顺序排列
- 22. 如何按字母顺序排序NSMutableOrderedSet?
- 23. 在java中按字典顺序排列(按字母顺序)
- 24. 使用awesome_nested_set按字母顺序排列类别选择菜单
- 25. 根据重复次数选择行,按字母顺序排列
- 26. 按字母顺序排序列表
- 27. perl - 按数字顺序降序排列,然后按字母顺序排列
- 28. 按字母顺序排列的PHP is_numeric
- 29. 按字母顺序排列的jquery
- 30. 排序表的顺序不按字母顺序排列
号必须这样做手工 –
不是没有诉诸动态SQL。 – jpw
为什么你在乎列的排列顺序?在显示层(应用程序,报告,不管)中,_lot_更容易实现 –