我想问你们这个查询我用什么wromg ...它产生的错误是“在'''附近'''''

我想问你们这个查询我用什么wromg ...它产生的错误是“在'''附近'''''

问题描述:

CREATE PROCEDURE dbo.StoredProcedure27

@Deal_ID int,

@Item_Name varchar(100)

AS

插入DealItemRelation(Deal_ID,Item_ID)

其中Deal_ID = @ Deal_ID AND Item_ID =(从项目i中选择i.Item_ID

其中i.Item_Name=@Item_Name)

CREATE PROCEDURE dbo.StoredProcedure27
@Deal_ID int ,
@Item_Name varchar(100)
AS
Insert into DealItemRelation (Deal_ID , Item_ID)
where Deal_ID=@Deal_ID AND Item_ID=(select i.Item_ID from Items i
where i.Item_Name=@Item_Name)

INSERT没有WHERE子句...不确定你要做什么,但你不能插入WHERE。您需要进行更新,或者您的子选择有问题。
INSERT doesn't have a WHERE clause... Not sure what you are trying to do, but you can't insert "WHERE". Either you need to do an update, or something is wrong with your sub-select.


CREATE PROCEDURE dbo.StoredProcedure27
@Deal_ID int ,
@Item_Name varchar(100)
AS
Insert into DealItemRelation (Deal_ID ,Item_ID) Values (@Deal_ID,@Item_ID) //It has be like this,if it is a insertion operation.
where Deal_ID=@Deal_ID AND Item_ID=(select i.Item_ID from Items i
where i.Item_Name=@Item_Name)

[or]

Insert into DealItemRelation values (@Deal_ID ,@Item_ID)  //It has be like this,if it is a insertion operation.
where Deal_ID=@Deal_ID AND Item_ID=(select i.Item_ID from Items i
where i.Item_Name=@Item_Name)





我觉得它唯一的语法错误,例如插入查询存储过程应该是这样的





I feel its only syntax error,For example insert query stored procedure should be like this

ALTER PROCEDURE [dbo].[spInsertIntoDetails]
(
@MasterID int,
@SubName VarChar(MAX))
AS
BEGIN
Declare @ID int;
Set @ID=(select MAX(ID) from Details);
if(@ID is Null)
Set @ID=1;
else
Set @ID=@ID+1;
Insert into Details Values(@ID,@MasterID,@SubName)
END





你检查你的情况添加条件的地方。



And you check your condition by adding where condition to it.