Přejít na hlavní obsah

Jak se zbavit omezení v SQL CHECK / jednoduché způsoby

Limity kontroly v SQL jsou navrženy tak, aby ověřovaly správnost údajů vložených do tabulky. Tato omezení umožňují definovat podmínky, které musí hodnoty v určitých sloupcích splňovat. Někdy je však nutné odstranit nebo změnit omezení CHECK v SQL. V tomto článku se podíváme na to, jak odstranit limit CHECK v SQL a jak změnit jeho podmínky.

Chcete-li odstranit omezení CHECK v SQL, musíte provést některé kroky. Nejprve je nutné určit název omezení CHECK. Obvykle se stanoví při vytváření omezení spolu s podmínkou. K tomu můžete použít příkaz SHOW CREATE TABLE, který zobrazí strukturu tabulky a názvy omezení CHECK. Poté pomocí příkazu ALTER TABLE můžete odstranit limit CHECK zadáním jeho názvu spolu s klíčovým slovem DROP. Tímto způsobem bude omezení odstraněno z tabulky.

Před odstraněním omezení CHECK v SQL je však nutné zajistit, aby údaje v tabulce splňovaly požadovanou podmínku. Po odstranění omezení mohou být všechny hodnoty ve sloupci, pro který byl stanoven limit CHECK, změněny nebo dokonce odstraněny. Proto se doporučuje předem zkontrolovat data a ujistit se, že jejich změna nebude znamenat porušení integrity tabulky.

Jak odstranit omezení v SQL CHECK

Pokud chcete odstranit limit CHECK v SQL, postupujte podle těchto kroků:

  1. Určete název omezení CHECK, které chcete odstranit. Chcete-li to provést, můžete provést požadavek SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS WHERE TABLE_NAME = 'jméno';
  2. Jedním ze způsobů, jak odstranit omezení CHECK, je použití příkazu ALTER TABLE:
    • Syntaxe: Alter TABLE název_tablices DROP CHECK název_omezenie;
    • Příklad: ALTER TABLE employees DROP check salary_check;
  3. Po provedení požadavku bude omezení kontroly odstraněno z tabulky.

Odstranění omezení CHECK v SQL může být užitečné při změně struktury tabulky nebo při aktualizaci dat. Při odstraňování omezení však buďte opatrní, ujistěte se, že to nepoškodí integritu dat v tabulce.

Průvodce odstraněním omezení v SQL CHECK

Omezení kontroly v SQL jsou pravidla, která určují hodnoty, které lze přidat do sloupce tabulky. Někdy však může být nutné odstranit omezení CHECK. V této příručce se podíváme na několik způsobů, jak odstranit omezení kontroly.

  1. Použijte příkaz Alter TABLE
    Pro odstranění omezení CHECK existuje příkaz Alter TABLE. Syntaxe příkazu je následující:
    ALTER TABLE table_name DROP CONSTRAINT constraint_name;
    Kde table_name je název tabulky a constraint_name je název omezení CHECK, který má být odstraněn. Například:
    ALTER TABLE employees DROP CONSTRAINT check_salary;
  2. Použijte příkaz sp_rename
    Dalším způsobem, jak odstranit omezení kontroly, je použití příkazu sp_rename. Syntaxe příkazu je následující:
    EXEC sp_rename 'table_name.constraint_name', 'new_constraint_name', 'OBJECT';
    Kde table_name je název tabulky, constraint_name je název omezení CHECK, které má být odstraněno, a new_constraint_name je nový název, který má být omezen. Například:
    EXEC sp_rename 'employees.check_salary', 'check_salary_new', 'OBJECT';
  3. Použijte příkaz DROP a CREATE
    Třetím způsobem, jak odstranit omezení CHECK, je odstranit a znovu vytvořit tabulku bez omezení. Nejprve odstraníme omezení pomocí příkazu DROP. Poté vytvoříme novou tabulku s požadovanými sloupci a omezeními pomocí příkazu CREATE. Například:
    -- Odstranění omezení CHECK
    ALTER TABLE employees DROP CONSTRAINT check_salary;
    -- Opětovné vytvoření tabulky s omezeními
    CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(50),
    salary INT CHECK (salary > 0)
    );

    Tento způsob nemusí být vhodný pro velké tabulky, protože vyžaduje opětovné vytvoření tabulky a přenos dat.