我有一个表,其中使用“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 个命令。
它工作得很好,但我现在有第二张桌子我需要以相同的方式设置,我很确定有更好的方法来做到这一点。任何的想法?