に私は結果が「ORDER」の列、例えばを使用してソートされているテーブルがあります。は、カスタムソートSQL Serverの
Doc_Id Doc_Value Doc_Order
1 aaa 1
12 xxx 5
2 bbb 12
3 ccc 24
を私の問題は、当初のように効率的かつreusablyできるだけこの順序列を設定することです。
私の最初のテイクは新しいエントリがテーブルに追加され、デフォルト値として使用することができスカラ関数を設定することでした:
ユーザーが2つの文書を入れ替えたいALTER FUNCTION [dbo].[Documents_Initial_Order]
()
RETURNS int
AS
BEGIN
RETURN (SELECT ISNULL(MAX(DOC_ORDER),0) + 1 FROM dbo.Documents)
、私ができます2つの注文を簡単に切り替えることができます。
これはうまく動作しますが、同じ方法で設定する必要がある2番目のテーブルが作成されました。これを行うにはより良い方法があると確信しています。何か案が?
(私が最後に使用した解決策はそれほど多くありませんでした) – Luk