【发布时间】:2009-05-11 13:40:33
【问题描述】:
我有一个表格,其中使用“ORDER”列对结果进行排序,例如:
Doc_Id Doc_Value Doc_Order
1 aaa 1
12 xxx 5
2 bbb 12
3 ccc 24
我的问题是最初设置此订单列时尽可能高效且可重用。
我最初的想法是设置一个标量函数,当向表中添加新条目时可以将其用作默认值:
ALTER FUNCTION [dbo].[Documents_Initial_Order]
( )
RETURNS int
AS
BEGIN
RETURN (SELECT ISNULL(MAX(DOC_ORDER),0) + 1 FROM dbo.Documents)
当用户想要置换 2 个文档时,我可以轻松地切换 2 个顺序。
它工作得很好,但我现在有第二张桌子我需要以相同的方式设置,我很确定有更好的方法来做到这一点。有什么想法吗?
【问题讨论】:
标签: sql sql-server user-defined-functions