ユーザーが並べ替えることができるアイテムを含む列があります。
DOC_ID DOC_Order DOC_Name
1 1 aaa
2 3 bbb
3 2 ccc
エントリの作成時に DOC_Order を適切に初期化する方法を見つけようとしています。適切な値は、対応する DO-CID (自動割り当てされるため)、または MAX(DOC-ORDER) + 1 です。
少しグーグルで調べた後、スカラー関数の戻り値をデフォルトの列に割り当てることができることがわかりました。
CREATE FUNCTION [dbo].[NEWDOC_Order]
(
)
RETURNS int
AS
BEGIN
RETURN (SELECT MAX(DOC_ORDER) + 1 FROM DOC_Documents)
END
しかし、MS SQL Management Studio を使用して試行するたびに、「列 'DOC_Order' のデフォルトの検証中にエラーが発生しました」というメッセージが表示されました。
関数を DEFAULT に割り当てるための正確な SQL 構文は何ですか?