| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:高手帮忙-->bygg转移
只看楼主 加入收藏
hongzhongmin
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2007-1-30
收藏
 问题点数:0 回复次数:4 
高手帮忙-->bygg转移

数据库里面创建一个存储过程,
CREATE PROCEDURE dbo.proc_newSale
( @shoeID varchar(50),@colocID varchar(50),@CmdNOID int,@rateID int)
AS
if ...如果插入的"名称,颜色,尺寸"是一样的那就用update,如果是不一样的那就用insert;;;;那请问要在这边怎么做判断呢`??
begin transaction
insert 库存表(名称,颜色,尺寸,价格) values(@shoeID,@colocID,@CmdNOID,@rateID )
else ..就执行下面的代码..

update 库存表
set 数量=数量+@quantity
where 名称=@shoeid and 颜色=@colocID and 尺寸=@CmdNOID
if @@error<>0
begin
raiserror('发生错误',16,1)
rollback tran
return
end
commit tran
RETURN

搜索更多相关主题的帖子: bygg 
2007-03-09 20:52
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
...如果插入的"名称,颜色,尺寸"是一样的那就用update
没明白什么意思,名称、颜色和尺寸是一样的?
数据类型都不一样 值怎么可能一样?
是不是要查询如果
名称,颜色,尺寸存在的时候用update
如果是的话
定义一个int类型变量
@i
select @i=count(*) from 库存表 where 名称=@shoeid and 颜色=@colocID and 尺寸=@CmdNOID
if @i==0
insert into
else
update


最后一个
你结束事物的那句也有问题
应该写在else里面
如果@@error<>0
回滚事物完成,再结束事物?没有对应的了
2007-03-12 10:33
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
他的意思应该是数据库中如果存在这种产品就update,如果是新产品就insert    
if exists(select 1 from shiyan where 名称=@shoeid and 颜色=@colocID and 尺寸=@CmdNOID)
update 语句
else
insert 语句

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-03-12 11:19
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
呵呵  还是你的方法简单一些
2007-03-12 16:32
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
很久没来这里了
看看
学习学习

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-03-13 13:01
快速回复:高手帮忙-->bygg转移
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012603 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved