¿Cómo usar la consulta SQL para cambiar el nombre de una restricción?

En SQL, a veces necesitamos cambiar el nombre de las restricciones de una tabla. Todo el proceso para hacer lo mismo se demuestra a continuación. Para este artículo, utilizaremos Microsoft SQL Server como nuestra base de datos.

Paso 1: crear una base de datos. Para esto, use el siguiente comando para crear una base de datos llamada GeeksForGeeks.

Consulta:

CREATE DATABASE GeeksForGeeks

Producción:

Paso 2: use la base de datos GeeksForGeeks. Para esto, use el siguiente comando.

Consulta:

USE GeeksForGeeks

Producción:

Paso 3: Crea una tabla INFO dentro de la base de datos GeeksForGeeks. Esta tabla tiene 3 columnas, a saber, S_NAME, ROLL y BRANCH que contienen el nombre, el número de lista y la rama de varios estudiantes que estudian en una facultad de ingeniería.

Consulta:

CREATE TABLE INFO(
S_NAME VARCHAR(20),
ROLL INT,
BRANCH VARCHAR(5));

Producción:

Paso 4: agregue una restricción CHECK CONSTRAINT definida por el usuario denominada BRANCH_CHECK a la tabla INFO . Esta restricción verifica que la rama de un estudiante ingresada en la base de datos se encuentre entre las 5 ramas que se enseñan en la facultad de ingeniería, a saber, Ciencias de la Computación e Ingeniería, Ingeniería Electrónica y de Comunicaciones, Ingeniería Civil, Ingeniería Mecánica e Ingeniería Eléctrica.

Consulta:

ALTER TABLE INFO ADD CONSTRAINT BRANCH_CHECK 
CHECK (BRANCH IN('CSE','ECE','CE','ME','ELE'));

Producción:

Paso 5: Describa la estructura de la tabla INFO.

Consulta:

EXEC SP_COLUMNS INFO;

Producción:

Paso 6: inserte 5 filas en la tabla INFO de modo que las ramas estén dentro de las 5 ramas definidas en la restricción BRANCH_CHECK . Por lo tanto, no se produce ningún error al agregar estas filas.

Consulta:

INSERT INTO INFO VALUES('MATT',1001,'CSE');
INSERT INTO INFO VALUES('SAM',1002,'ECE');
INSERT INTO INFO VALUES('NICK',1003,'CE');
INSERT INTO INFO VALUES('JOHN',1004,'ELE');
INSERT INTO INFO VALUES('BRUCE',1005,'ME');

Producción:

Paso 7: inserte filas en la tabla INFO de modo que la sucursal NO esté dentro de las 5 sucursales definidas en la restricción BRANCH_CHECK . Esto arroja un error ya que está violando la restricción.

Consulta:

INSERT INTO INFO VALUES('MORRIS',1006,'MECH');

Producción:

Paso 8: Muestre todas las filas de la tabla INFO.

Consulta:

SELECT * FROM INFO;

Producción:

Paso 9: Mostrar todas las restricciones definidas para la tabla INFO.

Consulta:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE 
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE TABLE_NAME='INFO';

Producción:

Paso 10: Cambie el nombre de la restricción de verificación definida por el usuario de BRANCH_CHECK a CHECK_BRANCH .

Consulta:

SP_RENAME 'BRANCH_CHECK','CHECK_BRANCH';

Producción:

Paso 11: Mostrar todas las restricciones definidas para la tabla INFO. El nuevo nombre, es decir , CHECK_BRANCH , debe estar visible ahora en lugar del antiguo nombre, es decir , BRANCH_CHECK .

Consulta:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='INFO';

Producción:

Por lo tanto, de la manera indicada anteriormente, se puede cambiar el nombre de cualquier restricción presente en la tabla.

Publicación traducida automáticamente

Artículo escrito por abhisri459 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *