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 列に UNIQUE CONSTRAINT を設定したくありません。