我有一列包含可以由用户排序的项目:
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 语法是什么吗?