请高手赐教,这个存储过程错在什么地方,测试的时候显示:不能将值 NULL 插入列 'TID',表 'Analysis System.dbo.Teacher_Honor';列不允许有空值。INSERT 失败。
这里的TID是第二条INSERT INTO 语句的TID(是第一条INSERT INTO 语句中的TID,是外键),也就是INSERT的时候@selectTID是空,小弟不明白怎么会是空的,或者有没有更好的办法立即提取出第一条INSERT INTO 语句中系统生成不是自增列的TID,也就是主键,
ALTER PROCEDURE [dbo].[TeamInsert2] 
-- Add the parameters for the stored procedure here
@TID varchar(50),
@TName varchar(50),
@TSex bit,
@TBirth datetime,
@TRecordID int,
@TDegreeID int,
@TTitleID int,
@TDirect varchar(MAX),
@TTutor varchar(50),
@TWeb varchar(MAX),
@TCount bit,
@TNote varchar(MAX),
@THonor bit
AS
BEGIN
SET NOCOUNT ON;

DECLARE @selectTID varchar(50) INSERT INTO [Teacher] 
([TID],[TName],TSex,TBirth,TRecordID,TDegreeID,TTitleID,TDirect,TTutor,TWeb,TNote,TCount)
         VALUES (replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')+cast(ceiling(rand() * 1000) as varchar),
@TName,@TSex,convert(varchar(8),@TBirth,112),@TRecordID,@TDegreeID,@TTitleID,@TDirect,@TTutor,    @TWeb,@TNote,@TCount) set @selectTID = @@IDENTITY  INSERT INTO Teacher_Honor (TID,THID)VALUES(@selectTID,@THonor)
END