向用户定义表类型添加自动增量列是否标准?
本文关键字:是否 标准 定义 用户 类型 添加 | 更新日期: 2023-09-27 17:51:08
我有收集在我的客户端c#应用程序,其中包括5列。在DB中,我创建了一个包含六列的用户定义表类型(UDTT)。第一列是一个自动增量,我将使用它来获取存储在其中的每一行。表结构为pSelCRSInfo
while(@cntr <= @pProgDuration)
begin
select
@CRSID=CRSID,
@YearNo=YearNo,
@IsCompulsory=IsCompulsory,
@EntDT=EntDT,
@EmpID=EmpID
from @pSelCRSInfo where CntrNo=@cntr
insert into DefaultCourses
(PRGID,CRSID,YearNo,IsCompulsory,EntDT,EmpID)
values (@newPRGID,@CRSID,@YearNo,@IsCompulsory,@EntDT,@EmpID)
set @cntr = @cntr + 1
end
在它的定义中我添加了
create type dbo.SelectedCourses
as table
(
CntrNo int not null IDENTITY(1, 1),
CRSID int,
YearNo int,
IsCompulsory varchar(20),
EntDT datetime,
EmpID int
);
go
目前我正在努力如何将5列集合传递到需要6列的集合?
通常情况下,人们创建UDTT结构与自动增量列接受集合?因为我可以从客户端生成自动增量列生成的数字然后将其与集合
一起发送谢谢
我想说这完全取决于你。如果自动递增值符合您的目的,那么一定要使用它们。我愿意。
所以假设我已经创建了一个具有自动增量列的UDTT,那么我仍然应该传递像下面这样的6列集合,并将第一列保留为空
//leave the first column empty
acd.dtCourses.Rows[CollCounter][0] = string.Empty
acd.dtCourses.Rows[CollCounter][1] = dt.Rows[i][2];
acd.dtCourses.Rows[CollCounter][2] = dt.Rows[i][3];
acd.dtCourses.Rows[CollCounter][3] = dt.Rows[i][4];
acd.dtCourses.Rows[CollCounter][4] = DateTime.Today;
acd.dtCourses.Rows[CollCounter][5] = myAcedemics.EmpID;
dtCourses
是接受集合的datatable
,我的acd
是业务类Academics
的对象