急。。。。。。SQL语句高手帮帮忙。。

Ni_Yang 2011-04-25 05:20:41
 ALTER proc [dbo].[usp_ProColour_Sup_Add]
(@SupplierNO varchar(50),
@ProNO varchar(50),
@ColourNO varchar(50),
@Flag int
)
as
insert ProColour_Sup (SupplierNO,ProNO,ColourNO,Flag)
values(@SupplierNO ,@ProNO,@ColourNO,@Flag)

这是我一个添加一条记录的储存过程。。 但是没有判断表里是否已经有了。 我想做个判断。哪个高手帮下忙。。
...全文
56 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Ni_Yang 2011-04-25
谢谢楼上的、、、
回复
gongsun 2011-04-25
[Quote=引用 3 楼 ojlovecd 的回复:]
SQL code

if exists (select 1 from ProUser_Sup where 条件)
begin
insert语句
end
[/Quote]


...
回复
yan267 2011-04-25

ALTER proc [dbo].[usp_ProColour_Sup_Add]
(@SupplierNO varchar(50),
@ProNO varchar(50),
@ColourNO varchar(50),
@Flag int
)
AS

DECLARE @count INT

SELECT @count=COUNT(SupplierNO) FROM ProColour_Sup WHERE SupplierNO=@SupplierNO

IF(@count=0)
begin
insert ProColour_Sup (SupplierNO,ProNO,ColourNO,Flag)
values(@SupplierNO ,@ProNO,@ColourNO,@Flag)
END




回复
laowang134 2011-04-25
ALTER proc [dbo].[usp_ProColour_Sup_Add]
(@SupplierNO varchar(50),
@ProNO varchar(50),
@ColourNO varchar(50),
@Flag int
)
as
declare @count int
select @count=count(1) from ProColour_Sup where SupplierNO=@SupplierNO and ProNO=@ProNO and ColourNO=@ColourNO and Flag=@Flag
if @count<1
begin
insert ProColour_Sup (SupplierNO,ProNO,ColourNO,Flag)
values(@SupplierNO ,@ProNO,@ColourNO,@Flag)
end
回复

if exists (select 1 from ProUser_Sup where 条件)
begin
insert语句
end
回复
Ni_Yang 2011-04-25
哦。。我只想到了这个方法。 不知道有没有好的。实现功能为主要。
回复
Kimizhou_blog 2011-04-25
不推荐在存储过程里面做这样的判断,去程序里做判断吧,要不你就另外写个通用的存储过程
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2011-04-25 05:20
社区公告
暂无公告