[SQL] 바인드 SQL 2005에서 함수에 열 기본값
SQL바인드 SQL 2005에서 함수에 열 기본값
나는 사용자가 정렬 할 수있는 항목을 포함하는 열이 :
DOC_ID DOC_Order DOC_Name
1 1 aaa
2 3 bbb
3 2 ccc
엔트리가 생성 될 때 제대로 DOC_Order 초기화에 나는 방법 알아 내려고 노력하고있어. 좋은 값이 어느 DO-CID (autoassigned이되므로), 또는 MAX (DOC-ORDER)에 대응 한 것 +
I 인터넷 검색의 비트를 본 후에는 기본 열에 스칼라 함수의 반환을 할당 할 수 있었다.
CREATE FUNCTION [dbo].[NEWDOC_Order]
(
)
RETURNS int
AS
BEGIN
RETURN (SELECT MAX(DOC_ORDER) + 1 FROM DOC_Documents)
END
그러나 메시지 "열 'DOC_Order'의 기본을 검증 오류"는 끝난 MS SQL 관리 스튜디오를 사용하여 내 시도의 각.
DEFAULT가 무엇 정확한 SQL 구문의 어떤 생각 기능을 할당하는?
해결법
-
==============================
1.그 것 같은 구문은 디폴트를 추가하는
그 것 같은 구문은 디폴트를 추가하는
alter table DOC_Order add constraint df_DOC_Order default([dbo].[NEWDOC_Order]()) for DOC_Order
DOC_Order가 null 인 경우 또한, 당신은 핸들에 기능을 변경 할 수 있습니다
Create FUNCTION [dbo].[NEWDOC_Order] ( ) RETURNS int AS BEGIN RETURN (SELECT ISNULL(MAX(DOC_ORDER),0) + 1 FROM DOC_Documents) END
-
==============================
2.누군가가 인터페이스를 사용하여 작업을 수행하고자하는 경우, 입력
누군가가 인터페이스를 사용하여 작업을 수행하고자하는 경우, 입력
[dbo].[NEWDOC_Order]()
트릭을 수행합니다. 당신은 분명히 모든 브래킷이 필요하거나 당신의 입력을 거부합니다.
-
==============================
3.다음은 SQL Server Management Studio를 GUI를 통해 할 스크린 샷입니다 :
다음은 SQL Server Management Studio를 GUI를 통해 할 스크린 샷입니다 :
참고 : 눅가 언급 한 바와 같이, 모든 브라켓 (이 경우 DBO) 스키마를 포함한 필요하다.
from https://stackoverflow.com/questions/442503/bind-a-column-default-value-to-a-function-in-sql-2005 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 그룹 당 첫 번째와 마지막 행에서 값을 가져 오기 (0) | 2020.07.13 |
---|---|
[SQL] SQL 서버 : .txt 파일로 내보내기 쿼리 (0) | 2020.07.13 |
[SQL] ASP.NET을 사용하여 모든 이미지를 선택 (0) | 2020.07.13 |
[SQL] ORA-00907은 오른쪽 괄호 문제를 누락 - 내부에 삽입 쿼리에 의해 주문 선택 (0) | 2020.07.13 |
[SQL] MS 액세스 쿼리에서 날짜를 문자열로 변환 (0) | 2020.07.13 |