mssql创建表的时候要写一个默认值,默认值要用到子查询,不知道该怎么写CREATE TABLE [dbo].[allmess](
[ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,
[PID] [int] NULL DEFAULT ((-1)),
[nameCon] [varchar](400) NULL,
[pwd] [varchar](400) NULL,
[sortID] [bit] NULL DEFAULT ((0)),
[perID] [bit] NULL DEFAULT ((0)),
[orderBy] [int] DEFAULT ((select max(orderBy) from allmess)),
[typeCon] [varchar](400) NULL,
[classCon] [varchar](400) NULL,
[readCount] [int] NULL DEFAULT ((1)),
[writerCon] [varchar](400) NULL,
[photo] [varchar](400) NULL,
[fileCon] [varchar](400) NULL,
[txt] [text] NULL,
[bkbit] [bit] NULL,
[bkint] [int] NULL,
[bkvc] [varchar](400) NULL,
[createTime] [datetime] NULL,
)
[ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,
[PID] [int] NULL DEFAULT ((-1)),
[nameCon] [varchar](400) NULL,
[pwd] [varchar](400) NULL,
[sortID] [bit] NULL DEFAULT ((0)),
[perID] [bit] NULL DEFAULT ((0)),
[orderBy] [int] DEFAULT ((select max(orderBy) from allmess)),
[typeCon] [varchar](400) NULL,
[classCon] [varchar](400) NULL,
[readCount] [int] NULL DEFAULT ((1)),
[writerCon] [varchar](400) NULL,
[photo] [varchar](400) NULL,
[fileCon] [varchar](400) NULL,
[txt] [text] NULL,
[bkbit] [bit] NULL,
[bkint] [int] NULL,
[bkvc] [varchar](400) NULL,
[createTime] [datetime] NULL,
)
RETURNS int
AS
BEGIN
RETURN(select max(orderBy) from allmess WITH(XLOCK,PAGLOCK))
END
GO
CREATE TABLE [dbo].[allmess](
[ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,
[PID] [int] NULL DEFAULT ((-1)),
[nameCon] [varchar](400) NULL,
[pwd] [varchar](400) NULL,
[sortID] [bit] NULL DEFAULT ((0)),
[perID] [bit] NULL DEFAULT ((0)),
[orderBy] [int] DEFAULT dbo.BH(),
[typeCon] [varchar](400) NULL,
[classCon] [varchar](400) NULL,
[readCount] [int] NULL DEFAULT ((1)),
[writerCon] [varchar](400) NULL,
[photo] [varchar](400) NULL,
[fileCon] [varchar](400) NULL,
[txt] [text] NULL,
[bkbit] [bit] NULL,
[bkint] [int] NULL,
[bkvc] [varchar](400) NULL,
[createTime] [datetime] NULL,
)
CREATE FUNCTION BH()
RETURNS int
AS
BEGIN
RETURN(select max(orderBy) from allmess WITH(XLOCK,PAGLOCK))
END
GO这个函数我想判断一下 如果查询出来的是空的话就返回1 该怎么写呢?
CREATE FUNCTION BH()
RETURNS int
AS
BEGIN
RETURN isnull((select max(orderBy) from allmess WITH(XLOCK,PAGLOCK)),1)
END
GO