Roy*_*mir 5 sql-server-2008 sql-server
如果我在 SQL Server 中编写:
SELECT number FROM master..spt_values WHERE Type = 'P' ORDER BY Number
Run Code Online (Sandbox Code Playgroud)
我得到了一个我已经可以使用的序列号列表,而不是用序列号写一个表格。
这对于小连接、行编号等非常有帮助。
我想知道是否还有其他像这样的隐藏表也可以帮助我做其他事情?例如,我可能想要select someNonImportantTextColmn from master..unknown并应用我的功能。
我在哪里可以找到这些“帮助表”的完整列表?
spt_values不完全是供您使用的帮助表。它是一个未记录的系统表,由内部存储过程用于各种任务。
由于它既不包含唯一的也不包含连续的数字,并且因为它没有记录且不受支持(并且可能在未来的版本中完全消失),我强烈建议您不要将此表用于任何事情。
您可以随时生成基于序列row_number从文档和支持系统的观点,比如sys.all_objects,sys.all_columns或跨两个加入,如果你需要一个很大的数字。
或者只是建立一个Numbers表格并为自己存储数字。在大多数情况下,这可能更有效,因为如果使用得足够多,它将始终在内存中访问,而无需计算序列。
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |