Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

चेक बाधा में उप प्रश्न

ध्यान दें, जो आप वास्तव में चाहते हैं वह एक विदेशी कुंजी बाधा है। उस ने कहा, चेक में "क्वेरी" प्राप्त करने के लिए आप एक फ़ंक्शन लिख सकते हैं जिसमें क्वेरी शामिल है और एक स्केलर मान आउटपुट करता है, फिर उस फ़ंक्शन को चेक बाधा में उपयोग करें।

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')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चेक बाधा में उप प्रश्न

  2. सिस्टम सांख्यिकीय कार्यों का उपयोग करके SQL सर्वर सांख्यिकी जानकारी कैसे प्राप्त करें

  3. एक डेटाबेस से दूसरे डेटाबेस में डेटा ट्रांसफर करें

  4. SQL क्वेरी जिसमें समूह शामिल है और जुड़ता है

  5. SQL सर्वर पर डिलीट को ऑप्टिमाइज़ करना