ध्यान दें, जो आप वास्तव में चाहते हैं वह एक विदेशी कुंजी बाधा है। उस ने कहा, चेक में "क्वेरी" प्राप्त करने के लिए आप एक फ़ंक्शन लिख सकते हैं जिसमें क्वेरी शामिल है और एक स्केलर मान आउटपुट करता है, फिर उस फ़ंक्शन को चेक बाधा में उपयोग करें।
CREATE FUNCTION myFunction (
@field DATATYPE(?)
)
RETURNS VARCHAR(5)
AS
BEGIN
IF EXISTS (SELECT* FROM Table2 WHERE MYFIELD = @field)
return 'True'
return 'False'
END
ऐसा कुछ। परीक्षण नहीं किया गया।
फिर आप इसे अपने चेक में इस तरह जोड़ सकते हैं
ALTER TABLE Table1
WITH CHECK ADD CONSTRAINT CK_Code
CHECK (myFunction(MYFIELD) = 'True')