簡體   English   中英

如何用插入插入選擇存儲過程?

[英]How to insert select to stored procedure with insert?

我嘗試創建存儲過程,但是語法有錯誤,我不知道要更改什么。 我想從選擇查詢中接收到“ @cartypeID”的編號,以插入汽車類型編號以及下面的插入代碼。

create PROCEDURE AddCar (@CarFleetID int,@CarModelName nvarchar(50),@CarNumber nvarchar(50),@CurrentMiles int,@ImageFileName nvarchar(50),@IsOk2Rent bit)
 AS
 IF (SELECT COUNT(1) FROM CarFleet WHERE CarFleetID =@CarFleetID ) = 1
 BEGIN
     RETURN -1
 END ELSE
 BEGIN

   declare @cartypeID int
   @cartypeID= select CarFleet.CarFleetID
  from CarFleet join CarTypes on CarFleet.CarTypeID=CarTypes.CarTypeID join CarModels on CarTypes.CarModelID=CarModels.CarModelID
     where @CarModelName=CarModels.CarModelName

     INSERT INTO CarFleet(CarFleetID,CarTypeID,CarNumber,CurrentMiles,ImageFileName,IsOk2Rent)
VALUES(@CarFleetID, @cartypeID, @CarNumber,@CurrentMiles,@ImageFileName,@IsOk2Rent)

 END

我認為

create PROCEDURE AddCar (@CarFleetID int,@CarModelName nvarchar(50),@CarNumber nvarchar(50),@CurrentMiles int,@ImageFileName nvarchar(50),@IsOk2Rent bit)
     AS
     IF (SELECT COUNT(1) FROM CarFleet WHERE CarFleetID =@CarFleetID ) = 1
     BEGIN
         RETURN -1
     END ELSE
     BEGIN


         INSERT INTO CarFleet ( 
             CarFleetID
            ,CarTypeID
            ,CarNumber
            ,CurrentMiles
            ,ImageFileName,IsOk2Rent) 
       select 
              CarFleet.CarFleetID
              ,@cartypeID
              ,@CarNumber
              ,@CurrentMiles
              ,@ImageFileName,@IsOk2Rent
      from CarFleet 
      join CarTypes on CarFleet.CarTypeID=CarTypes.CarTypeID 
      join CarModels on CarTypes.CarModelID=CarModels.CarModelID
      where @CarModelName=CarModels.CarModelName
     END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM