日期:2014-05-18  浏览次数:20404 次

一表插入一条数据的同时,另一表插入相应的N条数据
一表插入一条数据的同时,另一表插入相应的N条数据,如2个表。车辆表和座位表,先在车辆表中增加一辆有25个座位的车。同时。座位表中也会生成25个座位。请问。怎么解决。谢谢了。

------解决方案--------------------
CREATE TRIGGER 昨夜小楼 ON dbo.车辆表 FOR INSERT
AS

SET NOCOUNT ON
--假设:车辆表(车辆ID int, 座位数 int)
--假设:座位表(车辆ID int, 座位号码 int)
DECLARE @车辆ID int, @座位数 int, @座位号码 int
SELECT @车辆ID = 车辆ID, @座位数 = 座位数, @座位号码 = 1 FROM INSERTED
WHILE @座位号码 <= @座位数
BEGIN
INSERT 座位表 SELECT 车辆ID, @座位号码
SET @座位号码 = @座位号码 + 1
END
SET NOCOUNT OFF

GO
------解决方案--------------------
CREATE TRIGGER [zp_cool] ON [dbo].[车辆表]
FOR INSERT
AS

SET NOCOUNT ON
--假设:车辆表(车辆ID int, 座位数 int)
--假设:座位表(车辆ID int, 座位号码 int)
DECLARE @车辆ID int, @座位数 int, @座位号码 int
SET @座位号码=1
SELECT @车辆ID=车辆ID,@座位数 = 座位数 FROM 车辆表
WHILE @座位号码 <=@座位数
BEGIN
INSERT INTO 座位表(车辆ID ,座位号码)
VALUES(@车辆ID,@座位号码)
SET @座位号码 = @座位号码 + 1
END
SET NOCOUNT OFF
GO