Všimněte si, že to, co opravdu chcete, je omezení cizího klíče. To znamená, že chcete-li získat "dotaz" do kontroly, můžete napsat funkci, která obsahuje dotaz a vydá skalární hodnotu, a poté tuto funkci použít v omezení kontroly.
CREATE FUNCTION myFunction (
@field DATATYPE(?)
)
RETURNS VARCHAR(5)
AS
BEGIN
IF EXISTS (SELECT* FROM Table2 WHERE MYFIELD = @field)
return 'True'
return 'False'
END
Něco takového. Netestováno.
Pak si to můžete přidat ke svému šeku takto
ALTER TABLE Table1
WITH CHECK ADD CONSTRAINT CK_Code
CHECK (myFunction(MYFIELD) = 'True')