• It seems like, to me, that knowing the weight per cubic inch is probably quite important; thus, it would seem worth while to add the column as a computed column. Then, if you set it to PERSISTED, you can then add a CONSTRAINT to that column.

    This is a much simpler example, but should give you the right idea, that you can then apply to your own environment:

    USE Sandbox;
    GO
    CREATE TABLE Shipment (BoxID int IDENTITY(1,1),
            Width decimal(6,2),
            [Length] decimal(6,2),
            Area AS Width * [Length] PERSISTED);
    GO
    ALTER TABLE Shipment ADD CONSTRAINT SizeRestriction CHECK (Area <= 10);
    GO
    --box is correct size
    INSERT INTO Shipment (Width, [Length])
    VALUES (3,2);
    --1 row returned!
    SELECT *
    FROM Shipment;
    GO
    --Box is too large
    INSERT INTO Shipment (Width, [Length])
    VALUES (3,4);
    GO
    --Still only 1 row returned as last row was not inserted
    SELECT *
    FROM Shipment;
    GO
    DROP TABLE Shipment;
    GO

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk