Zauważ, że tak naprawdę chcesz mieć ograniczenie klucza obcego. To powiedziawszy, aby uzyskać "zapytanie" do sprawdzenia, możesz napisać funkcję zawierającą zapytanie i wyprowadzającą wartość skalarną, a następnie użyć tej funkcji w ograniczeniu sprawdzającym.
CREATE FUNCTION myFunction (
@field DATATYPE(?)
)
RETURNS VARCHAR(5)
AS
BEGIN
IF EXISTS (SELECT* FROM Table2 WHERE MYFIELD = @field)
return 'True'
return 'False'
END
Coś w tym stylu. Nie testowano.
Następnie możesz dodać go do czeku w ten sposób
ALTER TABLE Table1
WITH CHECK ADD CONSTRAINT CK_Code
CHECK (myFunction(MYFIELD) = 'True')