我将创建一个票务系统,用户可以在其中发布请求,然后假设系统返回请求的票号或参考号以跟踪其状态。我的问题是使用从 sql server 表生成的自动编号作为返回给用户的参考编号是否安全?猜测参考号不会成为问题,因为任何人都应该能够检查请求的状态,因为不涉及敏感数据。是否有任何最佳实践或更好的方法?谢谢你。
问问题
102 次
1 回答
1
当然 - 使用 anINT IDENTITY
可能是最简单和最安全的选择。
SQL Server 为您处理所有事情——您只需得到一个漂亮、干净的号码并完成它。
如果您愿意,您还可以将连续编号(您的ID
)与例如项目或产品前缀组合以创建“案例编号”,如PROJ-000005
,OTHR-000006
等等。这可以通过使用表中的计算列轻松完成 - 如下所示:
ALTER TABLE dbo.YourTable
ADD PrefixedNumber AS Prefix + '-' + RIGHT('000000' + CAST(ID AS VARCHAR(10)), 6) PERSISTED
然后,您的表将有一个带有自动生成数字的标识列ID
,确定某种客户或项目或产品Prefix
,并且您的计算列PrefixedNumber
将包含那些花哨的前缀案例编号。
于 2012-08-25T07:31:17.653 回答