Let op, wat u echt wilt, is een beperking van een externe sleutel. Dat gezegd hebbende, om een "query" in een controle te krijgen, kunt u een functie schrijven die de query bevat en een scalaire waarde uitvoert, en die functie vervolgens gebruiken in de controlebeperking.
CREATE FUNCTION myFunction (
@field DATATYPE(?)
)
RETURNS VARCHAR(5)
AS
BEGIN
IF EXISTS (SELECT* FROM Table2 WHERE MYFIELD = @field)
return 'True'
return 'False'
END
Zoiets. Niet getest.
Dan kun je het zo aan je cheque toevoegen
ALTER TABLE Table1
WITH CHECK ADD CONSTRAINT CK_Code
CHECK (myFunction(MYFIELD) = 'True')