Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 7095|Respuesta: 0

Transacciones y procedimientos almacenados que subyacen a la base de datos

[Copiar enlace]
Publicado en 15/3/2019 22:45:21 | | | |


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!) )









Anterior:Me gusta el sistema de atención al cliente de las grandes empresas
Próximo:Vídeo de Andale HCNP y HCIE
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com