SQL Server: ¿cuáles son las reglas? ¿Cuál es la diferencia entre reglas y restricciones?

Tabla de contenido

¿Cuales son las normas?

¿Cómo crear una regla?

¿Cómo borrar reglas?

¿Cómo crear limitaciones?

¿Cuál es la diferencia entre reglas y restricciones?


¿Cuales son las normas?

Es un único objeto de SQL Server que se puede asociar con una o varias columnas en una o varias tablas. Puede usar una variedad de métodos para completar la verificación del valor de los datos, puede usar la función para devolver la información de verificación y también puede usar las palabras clave BETWEEN, LIKE e IN para completar la verificación de los datos de entrada

En términos sencillos: cree una regla para una determinada columna de una tabla, cuando el usuario inserta datos, qué tipo de datos se pueden insertar, qué tipo de datos no se pueden insertar, juegan un papel en la limitación

 


 

¿Cómo crear una regla?

gramática:

CREAR REGLA nombre_regla

COMO

codition_expression

 

Requisitos: Existe una tabla de puntuación que limita el valor de la puntuación ingresada por el usuario, que solo puede estar entre 0-100

Puntuación
carné de identidad cid Puntuación
1 1 66
2 1 99
3 2 77

 

El primer paso es crear reglas

--创建规则sc
--设置成绩得取值范围在0和100之间
create rule sc
as
@value between 0 and 100

 

El segundo paso es vincular reglas a columnas específicas

--绑定规则到score表的score列
sp_bindrule sc,'score.score'

Cuando inserto datos en la columna de puntuación de la tabla de puntuación, el sistema informará automáticamente un error

 


 

¿Cómo borrar reglas?

Nota: Si desea eliminar una regla, primero debe "desvincular" la regla y luego eliminarla.

Desvincular reglas

gramática:

- Desvincular reglas

sp_unbindrule [@ obkectname =] <object_name>

[, [@ futureonly =] <futureonlu_flag>

Requisitos: eliminar la regla de puntuación

--解除规则绑定
sp_unbindrule 'score.score'

--删除规则
drop rule score

 


Algunos amigos pueden preguntar, la restricción CHECK también restringe una cierta columna en la tabla, entonces una no es suficiente, ¿por qué hay dos? ¿Cuál es la diferencia entre ellos? Probemos primero ~~

¿Cómo crear limitaciones?

Ejemplo: utilice el método de restricción para especificar el rango de la columna de puntuación y limitar la entrada

--创建check约束
--指定字段score输入的分数在0和100之间
create table score_info 
(
id int not null,
cid int not null,
score int CHECK( score between 0 and 100)
);

Ahora inserte datos en el campo de puntuación de la tabla de puntuación y el sistema informará automáticamente un error

 

Los usuarios relacionados también pueden hacer clic en: https://blog.csdn.net/weixin_43319713/article/details/104320998


 

¿Cuál es la diferencia entre reglas y restricciones?

  • Las reglas se almacenan por separado en la base de datos y las restricciones están vinculadas a la tabla.
  • Cuando se elimina la tabla, la restricción también se elimina, la regla no
  • Un campo puede tener varias restricciones, pero solo una regla

 

 

Supongo que te gusta

Origin blog.csdn.net/weixin_43319713/article/details/105938444
Recomendado
Clasificación