我正忙于编写要在安全令牌服务中使用的声明提供程序类。
用户权限从 SQL Server 2008 R2 数据库中读取:
SELECT A, B, C, ..., X FROM Permissions WHERE UserId = @UserId
会给我一行,例如:
A B C ... X
1 0 1 1
以表格形式拥有这些数据会容易得多
Permission Value
A 1
B 0
C 1
...
X 1
由于实际的表包含几十列,我希望能够“动态地”进行换位,而不必真正手动输入任何列名。
感觉就像 PIVOT/UNPIVOT 函数和 INFORMATION_SCHEMA.COLUMNS 视图是我需要的,但我不知道该怎么做。
对可以执行此操作的查询有任何想法吗?
PS。我想如果推送到了,我只需将结果集粘贴在 DataTable 中并遍历代码中的列以生成用户声明,但我想先了解上述方法是否可行 :)