, constriant, , .
, , build_id 314
CREATE FUNCTION CheckDistinctConstraint ()
RETURNS int
AS
BEGIN
DECLARE @retValue int = 0
DECLARE @cnt int = 0
DECLARE @distcnt int = 0
SELECT
@cnt = COUNT(*),
@distcnt = COUNT(DISTINCT address_id)
FROM building
WHERE company_id <> 314
IF @cnt <> @distcnt
BEGIN
SET @retValue = 1
END
RETURN @retValue
END
,
ALTER TABLE dbo.Building
ADD CONSTRAINT CheckDistConstraint CHECK (dbo.CheckDistinctConstraint() =0);
CREATE TABLE building (
building_id INT NOT NULL,
address_id INT NOT NULL,
company_id INT NOT NULL
CONSTRAINT building_pk PRIMARY KEY (building_id)
);
insert into building ( building_id, address_id, company_id) values
(1,11,22)
insert into building ( building_id, address_id, company_id) values
(5,11,315)
insert into building ( building_id, address_id, company_id) values
(311,11,314)
, - ?