|
创建一个表 id 要求为日期+流水号(0001-9999) primary key
CREATE FUNCTION f_NextID() RETURNS char(16) AS BEGIN --DECLARE @dt CHAR(8) --SELECT @dt=dt FROM v_GetDate RETURN( SELECT CONVERT(CHAR(8),GETDATE(),112)+RIGHT(10001+ISNULL(RIGHT(MAX(学号),4),0),4) FROM 学生表2 WITH(XLOCK,PAGLOCK)) --WHERE 学号 like @dt+'%') END GO
create table 学生表 (学号 char(14) primary key DEFAULT dbo.f_NextID(), 姓名 varchar(8)not null, 性别 char(2) not null, --系别 varchar(20) null, 出生日期 datetime default left(convert(char(8),getdate(),112),10), constraint ck_sex check(性别='男' or 性别='女'))
|