CREATE TRIGGER 昨夜小楼 ON dbo.车辆表 FOR INSERT
ASSET 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 OFFGO

解决方案 »

  1.   

    可能是我比较蠢吧。在触发器那里写好了代码。结果出现车辆ID该列名不存在。不知道我有没弄   错。我设了车辆表中的ID为PK。而座位表没设PK。
      

  2.   

    CREATE TRIGGER [zp_cool] ON [dbo].[车辆表] 
    FOR INSERT 
    ASSET 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
      

  3.   

    嗯,Limpire(昨夜小楼) 和zp_cool() 谢谢两位前辈了。我研究一天。没什么头绪。。谢谢你们的技术。真的谢谢^0^