El comando COMMIT de PostgreSQL se usa para guardar los cambios y reflejarlos en la base de datos cada vez que mostramos los datos requeridos. Supongamos que actualizamos los datos en la base de datos pero no le dimos COMMIT, entonces los cambios no se reflejan en la base de datos. Para guardar los cambios realizados en una transacción, debemos COMMITAR esa transacción con seguridad.
Sintaxis:
COMMIT TRANSACTION; (or) COMMIT; (or) END TRANSACTION;
A diferencia de otros lenguajes de base de datos en PostgreSQL, cometemos la transacción en 3 formas diferentes que se mencionan anteriormente. Ahora, para obtener un buen dominio en el uso del comando COMMIT, primero crearemos una tabla con ejemplos.
CREATE TABLE BankStatements ( customer_id serial PRIMARY KEY, full_name VARCHAR NOT NULL, balance INT );
Ahora vamos a insertar datos de algunos clientes
INSERT INTO BankStatements ( customer_id , full_name, balance ) VALUES (1, 'Sekhar rao', 1000), (2, 'Abishek Yadav', 500), (3, 'Srinivas Goud', 1000);
Ahora que la tabla está lista, entenderemos sobre el compromiso.
Ejemplo 1:
Agregaremos los datos a la tabla en la transacción usando el compromiso
BEGIN; INSERT INTO BankStatements ( customer_id, full_name, balance ) VALUES( 4, 'Priya chetri', 500 ) ; COMMIT;
Producción:
Ejemplo 2:
Actualizaremos el saldo y mostraremos los datos sin confirmar la transacción después de confirmarla.
BEGIN; UPDATE BankStatements SET balance = balance - 500 WHERE customer_id = 1; // displaying data before // committing the transaction SELECT customer_id, full_name, balance FROM BankStatements; UPDATE BankStatements SET balance = balance + 500 WHERE customer_id = 2; COMMIT; // displaying data after // committing the transaction SELECT customer_id, full_name, balance FROM BankStatements;
Producción:
NOTA: Cuando intentemos mostrar datos de otra sesión antes de confirmar los cambios, obtendremos el mismo resultado que obtuvimos en el primer ejemplo.
Publicación traducida automáticamente
Artículo escrito por dadimadhav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA