我想问你们这个查询我用什么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.