ALTER PROCEDURE [dbo].[InsertNewProduct]
@ProductCode VARCHAR(200) ,
@OMCode VARCHAR(200) ,
@ProductName VARCHAR(200) ,
@Category VARCHAR(200) ,
@Balance INT ,
@ReOrder INT ,
@Unit VARCHAR(20) ,
@location VARCHAR(500) ,
@expiry DATE
AS
SET NOCOUNT ON
DECLARE @existingProduct INT
SET @existingProduct = ( SELECT COUNT(*)
FROM dbo.Products
WHERE OMCode = @OMCode
)
IF @existingProduct > 0
BEGIN
RAISERROR(' Already Exists--',11,1)
END
IF @existingProduct <= 0
BEGIN
INSERT INTO dbo.Products
VALUES ( @ProductCode, @OMCode, @ProductName, @Category, @Balance,
@ReOrder, @Unit, @location, @expiry )
END
GO
现在的问题是仍然插入了具有现有 OMCODE 的产品。似乎无法理解为什么....而且我不想在 OMCode 列上放置一个唯一约束。