prefacio
La última vez, iba a organizar todo el contenido básico de SQL, pero me di cuenta de que el reloj estaba girando antes de darme cuenta. Este artículo continúa a continuación.
Mensaje de texto
Primero, creemos las tablas que necesitamos
Ejecutemos primero una sentencia SQL
Este código resta el saldo de 0001 por 1000 y el resto de 0002 por 1000. Pero añadimos restricciones cuando construimos la mesa, y el saldo debe ser mayor o igual a 10.
Los resultados son los siguientes:
Así que este error de ejecución de código: "La instrucción UPDATE entra en conflicto con la restricción CHECK "CH_balance". El conflicto ocurre en la base de datos "DemoDb" con la tabla "dbo. Banco", columna 'saldo'。” 。 Si una sentencia es un error, entonces si la otra se ha ejecutado correctamente.
Los resultados de la consulta son los siguientes:
Veremos que otra instrucción SQL no tiene errores, pero aún así no se hace commit con éxito. Esto es lo que te vamos a revelar.
#Transacciones
¿Qué es la transacción? Estríctamente hablando, si una operación satisface atomicidad, persistencia, aislamiento y consistencia, entonces la operación se denomina transacción. Enviar transacciones automáticamente: en SQL Server. Por defecto, cada sentencia SQL es una transacción. Mostrar transacciones: Cada transacción comienza explícitamente con una instrucción BEGIN TRANSACTION y termina explícitamente con una instrucción COMMIT o ROLLBACK.
La demo que acabamos de mencionar terminó con Rollback, así que la ejecución de SQL no tiene efecto. Los datos no fueron modificados con éxito.
En el desarrollo y la aplicación reales, normalmente establecemos una capa de transacciones fuera de la instrucción no consultada para garantizar la integridad y consistencia de los datos según las necesidades reales. O lo haces todo o no lo haces todo.
Hay dos variables del sistema que registran el SQL que está defectuoso. - @@rowcount devuelve el número de líneas afectadas @@error devuelve la codificación incorrecta
Vamos a usar estas dos variables del sistema para determinar si hay un error en SQL y ejecutar las dos sentencias SQL anteriores.
#Procedimientos almacenados
Es decir: Encapsular un proceso que se realiza (que puede ser complejo) en un nombre y luego usar ese nombre para realizar el proceso.
> Procedimientos almacenados sin parámetros
>Procedimientos almacenados con parámetros
>Procedimiento almacenado con valor de retorno
Prueba a atrapar en la base de datos
También existen procedimientos almacenados con parámetros por defecto, que se mencionaron en el artículo anterior sobre la paginación.
Epílogo
Los procedimientos almacenados se usan más en nuestros proyectos reales, muchos sistemas antiguos, la lógica de negocio está escrita en procedimientos almacenados, y las personas que lo mantienen son y simplemente quieren darle un golpe a la cabeza del perro delante de ellos en minutos. En términos generales, la lógica de negocio se escribe en el código, pero el número de veces que los datos se leen de la base de datos y la lógica de negocio se escriben en el proceso de almacenamiento. El año pasado, una cadena muy compleja de lógica de negocio en el proyecto de la empresa se trasladó al proceso de almacenamiento, lo que aumentó la velocidad decenas de veces. Por supuesto, las circunstancias especiales se tratan de forma especial. La aplicación específica depende del escenario real.
(Nota: El contenido anterior es el apunte de estudio del año, si hay algo inapropiado, ¡corregidlo por favor!) )
|