Megosztás a következőn keresztül:


Ellenőrzési korlátozások létrehozása

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Egy táblában ellenőrzési kényszert hozhat létre az SQL Server egy vagy több oszlopában elfogadható adatértékek megadásához az SQL Server Management Studio vagy a Transact-SQL használatával. További információért az oszlopkorlátok hozzáadásáról lásd: ALTER TABLE column_constraint.

További információ: Egyedi korlátozások és korlátozások ellenőrzése.

Remarks

A meglévő ellenőrzési korlátozások lekérdezéséhez használja a sys.check_constraints rendszerkatalógus nézetét.

Permissions

A táblához ALTER engedély szükséges.

Az SQL Server Management Studio használata

  1. Az Object Explorerterületen bontsa ki azt a táblát, amelyhez ellenőrző kényszert szeretne hozzáadni, kattintson a jobb gombbal a Korlátozások elemre, és válassza Új korlátozáslehetőséget.

  2. A Korlátozások ellenőrzése párbeszédpanelen válassza ki a Kifejezés mezőt, majd kattintson a három pontra (...).

  3. A Ellenőrzési feltétel kifejezése párbeszédpanelen írja be az ellenőrzési feltételhez tartozó SQL-kifejezéseket. Ha például a SellEndDate tábla Product oszlopában lévő bejegyzéseket olyan értékre szeretné korlátozni, amely nagyobb vagy egyenlő a SellStartDate oszlop dátumánál, vagy NULL érték, írja be a következőt:

    SellEndDate >= SellStartDate
    

    Vagy ha azt szeretné, hogy a zip oszlopban lévő bejegyzések öt számjegyből álljanak, írja be a következőt:

    zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
    

    Note

    Ügyeljen arra, hogy a nem numerikus kényszerértékeket egyetlen idézőjelbe (') tegye.

  4. Kattintson az OK gombra.

  5. Az Identitás kategóriában módosíthatja az ellenőrzési korlátozás nevét, és hozzáadhat egy leírást (kiterjesztett tulajdonságot) a korlátozáshoz.

  6. A Táblatervező kategóriában beállíthatja, hogy a kényszer kikényszerítése mikor történik meg.

    Action Válassza a Yes lehetőséget a következő beállításokhoz
    A kényszer létrehozása előtt létező adatokra vonatkozó korlátozás tesztelése Meglévő adatok ellenőrzése a létrehozáskor vagy a engedélyezésekor
    Kényszerítse ki a korlátozást, amikor replikációs művelet történik ezen a táblán Kényszerítése a replikációhoz
    A korlátozás kényszerítése a táblázat egy sorának beszúrásakor vagy frissítésekor INSERTek és UPDATEk érvényesítése
  7. Válassza a Bezárás lehetőséget.

Használd a Transact-SQL-t

  1. Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.

  2. A Standard sávon válassza Új lekérdezéslehetőséget.

  3. Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza a Végrehajtáslehetőséget.

    Először hozza létre a kényszert.

    ALTER TABLE dbo.DocExc
    ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (
        ColumnD > 10
        AND ColumnD < 50
    );
    GO
    

    A kényszer teszteléséhez először adjon hozzá olyan értékeket, amelyek megfelelnek az ellenőrzési kényszernek.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
    

    Ezután próbáljon meg olyan értékeket hozzáadni, amelyek nem felelnek meg az ellenőrzési kényszernek.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (55);