Sentencias DML
📋 Fecha de publicación 24/06/2023
Famosa y conocida sigla "DML" que significa "lenguaje de manipulación de datos", como en muchos artículos, seguiré indicándolo, mi idea es ir un poco más de lo habitual que sería las funcionalidades particulares del motor ORACLE que nos brinda.
A mi criterio:
Lo habitual
INSERT
DELETE
UPDATE
El "no habitual"
SELECT
INSERT
UPDATE
DELETE
MERGE
CALL
EXPLAIN PLAN
LOCK TABLE
¿Dudas?
Te comprendo, responderé las que creo se te pueden ocurrir:
La sentencia SELECT al tener características de poder limitar, ordenar y operar los datos entre otras, entra dentro de la manipulación de datos
Para quienes no conocen el MERGE, es la combinación de un INSERT y un UPDATE, habitualmente se utiliza la siguiente premisa para tener una idea de lo que hace:
"Lo que no existe, lo inserta (INSERT), y lo existente lo actualiza (UPDATE)"
CALL, EXPLAIN PLAN, aunque no realicen manipulación de datos de manera directa, lo pueden realizar por sus funcionalidades que tienen de manera "indirecta" y por esto los han clasificado dentro de las sentencias DML
LOCK TABLE, no se clasifica dentro de las sentencias de control que daríamos por hecho en nuestra lógica o sentido común; una descripción general es:
"Bloqueo los datos que estoy manipulando y después de realizar tales manipulaciones, los liberare para que puedan ser utilizados"
Se que ha muchos les parece que el criterio podría ser diferente, pero para la versión actual ORACLE 21C y pasadas se ha mantenido así de este modo; a mi parecer el fabricante lo ha clasificado bien, es tema de comprender los niveles de abstracción, por ejemplo las sentencias "DML" no requieren compilación.
Cada una de estas sentencias las exploraremos en artículos diferentes y podre definirlas aún mejor con sus funcionalidades que nos ofrecen y como siempre estaré Yo molestando con el "habitual y el no habitual" para quienes están comenzando a conocer las bases de datos ORACLE 😅