Insert, Update, Delete, Indentity y Sequence

Temas de este video tutorial: Insert, Update, Delete, actualizar datos de una tabla con respecto a otra tabla, eliminar datos de una tabla con respecto a otra tabla, función Identity, objeto Sequence.

  • INSERT: La sentencia INSERT se utiliza para agregar nuevos registros a una tabla en una base de datos. La sintaxis básica es la siguiente:
    INSERT INTO nombre_tabla (columna1, columna2, ...)
    VALUES (valor1, valor2, ...);

    Por ejemplo, para insertar un nuevo empleado en una tabla de empleados:

    INSERT INTO empleados (nombre, apellido, edad)
    VALUES ('Juan', 'Pérez', 30);
  • UPDATE: La sentencia UPDATE se utiliza para actualizar los valores de una o varias columnas en uno o varios registros de una tabla. La sintaxis básica es la siguiente:
    UPDATE nombre_tabla
    SET columna1 = valor1, columna2 = valor2, ...
    WHERE condicion;

    Por ejemplo, para actualizar el salario de un empleado:

    UPDATE empleados
    SET salario = 25000
    WHERE id_empleado = 1;
  • DELETE: La sentencia DELETE se utiliza para eliminar uno o varios registros de una tabla. La sintaxis básica es la siguiente:
    DELETE FROM nombre_tabla
    WHERE condicion;

    Por ejemplo, para eliminar un empleado:

    DELETE FROM empleados
    WHERE id_empleado = 1;
  • Actualizar datos de una tabla con respecto a otra tabla: Puedes usar la sentencia UPDATE con una cláusula FROM para actualizar los datos de una tabla basados en los datos de otra tabla. Por ejemplo, para actualizar el salario de los empleados en una tabla usando los datos de otra tabla temporal:
    UPDATE empleados
    SET salario = t.salario_nuevo
    FROM empleados e
    INNER JOIN tabla_temporal t ON e.id_empleado = t.id_empleado;
  • Eliminar datos de una tabla con respecto a otra tabla: Puedes usar la sentencia DELETE con una cláusula FROM para eliminar registros de una tabla basados en los datos de otra tabla. Por ejemplo, para eliminar los empleados que están en una tabla temporal:
    DELETE FROM empleados
    FROM empleados e
    INNER JOIN tabla_temporal t ON e.id_empleado = t.id_empleado;
    Identity

    La función IDENTITY en SQL Server se utiliza para generar valores automáticamente para una columna al insertar nuevos registros en una tabla. Esta función es útil cuando necesitas generar valores únicos de forma automática, como en el caso de un identificador único para cada registro.

    Para utilizar la función IDENTITY, primero debes definir una columna en una tabla con el atributo IDENTITY. La sintaxis básica para crear una tabla con una columna IDENTITY es la siguiente:

    CREATE TABLE nombre_tabla
    (
    id_columna INT IDENTITY(1,1) PRIMARY KEY,
    otra_columna VARCHAR(50)
    );

    En este ejemplo, id_columna es la columna que utilizará la función IDENTITY para generar valores automáticamente. Los parámetros IDENTITY(1,1) especifican que los valores comenzarán en 1 y se incrementarán en 1 para cada nuevo registro.

    Cuando insertas un nuevo registro en la tabla y no proporcionas un valor para la columna IDENTITY, SQL Server automáticamente genera un valor único para esa columna. Por ejemplo:

    INSERT INTO nombre_tabla (otra_columna)
    VALUES ('valor');

    En este caso, SQL Server generará automáticamente un valor para id_columna.

    Es importante tener en cuenta que una tabla solo puede tener una columna IDENTITY y que esta columna normalmente se utiliza como clave primaria. La función IDENTITY también se puede personalizar para que los valores se incrementen en un valor distinto de 1 o para que comiencen en un valor distinto de 1, pero estos casos son menos comunes.

sequence

La instrucción SEQUENCE en SQL Server se utiliza para crear un objeto que genera secuencias de números únicos. Esto es útil cuando necesitas generar valores únicos para una columna en una tabla, similar a la función IDENTITY, pero con más flexibilidad y control sobre cómo se generan los valores.

La sintaxis básica para crear una secuencia es la siguiente:

CREATE SEQUENCE nombre_secuencia
START WITH valor_inicial
INCREMENT BY incremento
[ MINVALUE min_valor ]
[ MAXVALUE max_valor ]
[ CYCLE | NO CYCLE ];
  • nombre_secuencia es el nombre que le das a la secuencia.
  • START WITH especifica el valor inicial de la secuencia.
  • INCREMENT BY especifica el valor en el que se incrementará la secuencia.
  • MINVALUE y MAXVALUE especifican los valores mínimo y máximo que puede tener la secuencia.
  • CYCLE indica si la secuencia debe reiniciarse cuando se alcanza el valor máximo (CYCLE) o si debe devolver un error (NO CYCLE).

Una vez que has creado la secuencia, puedes utilizarla para generar valores en una columna en una tabla. Por ejemplo:

CREATE TABLE ejemplo
(
id INT PRIMARY KEY,
nombre VARCHAR(50)
);

CREATE SEQUENCE secuencia_ejemplo
START WITH 1
INCREMENT BY 1;

INSERT INTO ejemplo (id, nombre)
VALUES (NEXT VALUE FOR secuencia_ejemplo, 'Ejemplo 1'),
(NEXT VALUE FOR secuencia_ejemplo, 'Ejemplo 2');

En este ejemplo, la secuencia secuencia_ejemplo se utiliza para generar valores automáticos para la columna id en la tabla ejemplo.

Las secuencias son útiles cuando necesitas más control sobre cómo se generan los valores que con la función IDENTITY, por ejemplo, si necesitas generar valores únicos en múltiples tablas o si necesitas generar valores en un rango específico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.