我试图证明生产数据库中的表设计缺陷,即表不能在可以包含随机数据的列上具有聚集主键,在这种情况下是由最终用户键入的代码。
虽然我们知道解决方案是将 PK 设为非集群,但我仍然需要向其添加行以对其副本进行测试。因此,我需要知道在“Z”之后可以使用什么字符作为前缀。
此外,该列不是 unicode,在我的假数据前面加上一系列 Z 会很麻烦。该表现在有十万行,每次插入都需要几秒钟。
我试图证明生产数据库中的表设计缺陷,即表不能在可以包含随机数据的列上具有聚集主键,在这种情况下是由最终用户键入的代码。
虽然我们知道解决方案是将 PK 设为非集群,但我仍然需要向其添加行以对其副本进行测试。因此,我需要知道在“Z”之后可以使用什么字符作为前缀。
此外,该列不是 unicode,在我的假数据前面加上一系列 Z 会很麻烦。该表现在有十万行,每次插入都需要几秒钟。
只需运行它并从列表中删除。为了清楚起见,我添加了夹点,特别是。当涉及不可见字符时。
select number, '.' + char(number) + '.' collate SQL_Latin1_General_CP1_CI_AS thechar
from master..spt_values
where type='p' and number between 28 and 255
order by thechar
'Z' 之后只有 4 个字符,因为您说该列不是 N(Var)Char。
121 .y.
89 .Y.
253 .ý.
221 .Ý.
255 .ÿ.
90 .Z.
122 .z.
208 .Ð.
240 .ð.
254 .þ.
222 .Þ.