请问这种一次执行的要判断是添加还是更新怎么做?
如果 商品编号=CP2011110300006 且 仓库=1这条记录不存在,则执行INSERT INTO 商品库位 (仓库,商品编号,库存) VALUES (1,N'CP2011110300006',1);否则执行UPDATE 商品库位 SET 库存=库存+1 where [商品编号]=N'CP2011110300006' and [仓库]=1;
INSERT INTO 商品库位 (仓库,商品编号,库存) VALUES (1,N'CP2011110300006',1);INSERT INTO 商品库位 (仓库,商品编号,库存) VALUES (1,N'CP2011110300007',1);INSERT INTO 商品库位 (仓库,商品编号,库存) VALUES (1,N'CP2011110300006',1);
UPDATE 商品库位 SET 库存=库存+1 where [商品编号]=N'CP2011110300006' and [仓库]=1;
create proc pr_name(参数)asbegin if not exists(select * from tb where XX=参数) insert into tb ... else update tb set XXX=XXend
[解决办法]
你应该把你要插入的弄成一个结果集放入一个表然后insert into tb t selet * from #t where not exists(select 1 from tb where 仓库=t.仓库 and 商品编号=t.商品编号 and 库存=t.库存)
[解决办法]
先更新再新增