· 6 years ago · Mar 19, 2019, 12:14 PM
1CREATE TABLE dbo.Seqs(
2 SequenceKey nvarchar(10) NOT NULL,
3 UsageSequence smallint NOT NULL,
4 col1 bit NOT NULL,
5 col2 nvarchar(30) NULL,
6 CONSTRAINT PK_Seqs PRIMARY KEY CLUSTERED
7 (
8 SequenceKey ASC,
9 UsageSequence ASC
10 )
11)
12
13CREATE TABLE dbo.Sometbl (
14 SomeID int IDENTITY(1,1) NOT NULL,
15 Col1 int NOT NULL,
16 Col2 nvarchar(100) NOT NULL,
17 Col3 nvarchar(30) NULL,
18 SequenceKey nvarchar(10) NOT NULL,
19 CONSTRAINT PK_Sometbl PRIMARY KEY CLUSTERED (
20 SomeID ASC
21 )
22 )
23
24CREATE FUNCTION dbo.CheckSequenceKey (@SequenceKey nvarchar(10))
25RETURNS bit
26AS
27BEGIN
28 DECLARE @retval bit
29
30 IF EXISTS (SELECT 1 FROM dbo.Seqs S WHERE S.SequenceKey = @SequenceKey)
31 SET @retval = 1
32 ELSE
33 SET @retval = 0
34
35 RETURN @retval
36END;
37GO
38
39ALTER TABLE dbo.Sometbl
40 ADD CONSTRAINT chkSequenceKey
41 CHECK (dbo.CheckSequenceKey(SequenceKey) = 1);