sql - 临时表的默认排序规则

标签 sql sql-server tsql collation temp-tables

如何检查临时表的排序规则是什么?

我想这样做是因为我想检查如果我的数据库具有与 SQL Server 实例不同的特定排序规则并创建临时表,会发生什么情况。

假设我们有这样的场景:

SQL Server 2008 - Latin1_General_CS_AS

测试数据库 - Estonian_CS_AS

然后创建表#Test而不指定排序规则。哪个将是表的排序规则?

我认为Estonian_CS_AS,但在我正在做的测试中是说Latin1_General_CS_AS。这就是为什么我需要找到一个 SQL 语句来检查这一点。

注意:根据我所读到的内容,我认为临时对象的排序规则是由 tempdb 排序规则定义的。但如果这是真的,那么什么定义了它的种类呢?

最佳答案

tempdb 在服务器启动时重新创建,并从 model 数据库获取排序规则。

您在未指定排序规则的情况下创建的临时表将具有 tempdb 排序规则。创建临时表时可以使用 database_default作为排序规则以获得与当前数据库相同的排序规则。

关于sql - 临时表的默认排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648987/

相关文章:

sql - tSQL触发器逻辑,有IF子句更好,还是IN子句更好?

java - Postgresql,使用 JDBC 插入后获取生成的序列

sql - 查询返回正确的结果,存储过程没有。需要第二双眼睛

php - 从变量 HTML 表单插入 sql 表

sql - Spark SQL - 数组的数组到单个数组

sql - 如何解密SQL Server 2008中的存储过程

sql-server - SQL Server 2014 CTP1 上的 MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT

c# - 使用无名参数执行存储过程

c# - 通过 GetSchema 确定主键列

sql-server-2008 - 对于 SQL Server 2008 中长度为 13 位的 ID 号,我可以使用什么数据类型?