表由以下存储过程填充:
exec('
insert into tblSegments
(SegmentName, CarTypeID, EngineTypeID, AxleTypeID)
select distinct
''' + @SegmentName + '''
, CT.CarTypeID
, ET.EngineTypeID
, AT.AxleTypeID
from
tblCarTypes CT
cross join tblEngineTypes ET
cross join tblAxleTypes AT
where
CT.CarTypeName in (' + @CarTypes + ')
and ET.EngineTypeName in (' + @EngineTypes + ')
and AT.AxleTypeName in (' + @AxleTypes + ')
')
参数,除了@SegmentName
,是字符串,如 (for @CarTypes
) 'hatchback','suv','sedan'
。
表中的数据是否可用于为单个SegmentName
存储过程的先前条目创建一个列表,类似于
Run1:@CarTypes、@EngineTypes、@AxleTypes
Run2:@CarTypes、@EngineTypes、@AxleTypes
Run3:@CarTypes、@EngineTypes、@AxleTypes
...?
运行不需要按顺序进行。该过程可能涉及 T-SQL 和 C# 的组合。我很确定这是不可能的;也许有人可以证明我错了。