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) 这是我一个添加一条记录的储存过程。。  但是没有判断表里是否已经有了。  我想做个判断。哪个高手帮下忙。。

解决方案 »

  1.   


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

  2.   

    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
      

  3.   


    ALTER proc [dbo].[usp_ProColour_Sup_Add]
    (@SupplierNO varchar(50),
    @ProNO varchar(50),
    @ColourNO varchar(50),
    @Flag int 
    )
    ASDECLARE @count INTSELECT @count=COUNT(SupplierNO) FROM ProColour_Sup WHERE SupplierNO=@SupplierNOIF(@count=0)
    begin
    insert ProColour_Sup (SupplierNO,ProNO,ColourNO,Flag)
    values(@SupplierNO ,@ProNO,@ColourNO,@Flag)
    END