使两个字段自动递增的优雅方法是什么?
在 SQL Server 中,我有两个字段,一个是主要字段,具有标识 (AN_ID),然后我还有另一个字段,由于遗留原因(不要询问)必须更新以反映 AN_ID。目前它们具有完全相同的值。我想知道是否有纯 T-SQL 查询(无存储过程)使其自动递增。
非常感谢你
编辑:我被迫使用 SQL Server 2000
In SQL Server, I have two fields, one is primary and has an identity (AN_ID) then I have another one that for legacy reasons (don't ask) has to be updated reflecting the AN_ID. Currently they have the exact same value. I was wondering if there are pure T-SQL query (no stored procedures) to make it auto incremente.
Thank you very much
Edit: I'm forced to SQL Server 2000
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果两个字段可以包含相同的值,那么您可以使用插入触发器或计算列(SQL 2005 中的新功能)来完成此操作。
编辑:这样的东西应该有效。
If both fields can contain the same value, then you can use an insert trigger or a computed column (new in SQL 2005) to accomplish this.
EDIT: Something like this should work.
“正确”的解决方案几乎肯定是使用触发器,但是如果这属于“无存储过程”的标题,那么您可以通过运行两个连续查询(您应该能够将其作为一个查询从您的调用应用程序 - 对于了解您在 SQL Server 上使用的环境很有用)。
例如(非常粗略地)
The "right" solution is almost certainly to use a trigger, however if that falls under the heading of "no stored procedures" then you can fudge things a little by running two consective queries (which you should be able to send as one query from your calling app - be useful to know what environment you're using on top of SQL Server).
e.g. (very roughly)
第二列可以是具有公式 AN_ID 的计算列。
您还可以创建别名为 AN_ID 的视图。
The second column could be a computed column with the formula AN_ID.
You could also create a view with an alias of AN_ID.