0

我有一个查询

create procedure pr_InsertFilterOnItemCreation
@zCategoryId int,
@zItemId int,
@zFilterid int
as
declare @productId int
set @productId = (SELECT convert(int,IDENT_CURRENT('item')))
if( @productId<>null)
begin
insert into t_lnk_cat_product_filter_item set   cde_catid=@zCategoryId,cde_productid=@productId,cde_filterid=@zFilterid,cde_filteritemid=@zItemId
select 1
end

我收到错误

关键字“set”附近的语法不正确

4

3 回答 3

1

你的INSERT INTO陈述应该这样写:

INSERT INTO t_lnk_cat_product_filter_item
      (cde_catid,    cde_productid, cde_filterid, cde_filteritemid)
SELECT @zCategoryId, @productId,    @zFilterid,   @zItemId

代替:

insert into t_lnk_cat_product_filter_item 
set cde_catid = @zCategoryId,
    cde_productid = @productId,
    cde_filterid = @zFilterid,
    cde_filteritemid = @zItemId
于 2012-10-11T12:56:49.820 回答
0

要么你做:

insert into t_lnk_cat_product_filter_item 
values(@value1, @value2, @value3)

或者

insert t_lnk_cat_product_filter_item 
select @value1, @value2, @value3
于 2012-10-12T15:06:38.850 回答
0

为什么要在这里设置,如果表为空,只需插入值或更新相应的值

insert into t_lnk_cat_product_filter_item    
(cde_catid, cde_productid, cde_filterid, cde_filteritemid)                                                                                                                 values ( @zCategoryId, @productId, @zFilterid, @zItemId)
于 2012-10-11T13:08:21.493 回答