DECLARE @qtyavailable bigint, @qtyship int, @qtybo int SELECT @qtyavailable = CASE WHEN producttypeid = 1 THEN qtysemimanufactured WHEN porducttypeid IN (2,3,4,5) THEN qtyfinished END FROM product_info WHERE productid = @productid -- calculate ship quantity and backorder quantity from stock available vs qty sold IF @qtyavailable > @quantity SELECT @qtyship = @quantity ELSE SELECT @qtybo = @quantity - @qtyavailable -- add the product item INSERT INTO salesitem_info (salesid, productid, quantity, price, qtyship, qtybackorder) VALUES (@salesid, @productid, @quantity, @price, @qtyship, @qtybo)