Databases
T02-001- Inserción de registros.
Enunciado
Al hacer un
INSERTen el que no se especifiquen los valores de todos los campos, se obtendrá el valorNULLen aquellos campos que no se han indicado.Ejemplo:
Vamos a aportar valores únicamente en aquellos atributos que no permiten el valor NULL:
INSERT INTO EMPLOYEES (EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE, JOB_ID)
VALUES (220, 'Apellidos', 'email@carlosiii.es', CURRENT_DATE, 'IT_PROG');Veamos cual es el resultado de la inserción en la tabla de empleados.
SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID = 220;
EMPLOYEE_ID FIRST_NAME LAST_NAME PHONE_NUMBER HIRE_DATE JOB_ID SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID 220 - Apellidos- 29-OCT-21 IT_PROG - - - - Podemos comprobar que todos los campos que no se han indicado en el
INSERTaparecen con el valorNULL.Si la lista de campos indicados no se corresponde con la lista de valores, o si no se proporcionan valores para campos que no admiten el valor
NULL, se obtendrá un error en la ejecución.Ejemplo:
Si no se indica el campo Apellidos pero sí se especifica un valor para dicho campo:
INSERT INTO EMPLOYEES (EMPLOYEE_ID, EMAIL, HIRE_DATE, JOB_ID)
VALUES (220, 'Apellidos', 'email@carlosiii.es', CURRENT_DATE, 'IT_PROG');
** ORA-00913: too many values **Ejercicio:
La siguiente sentencia generará el error anterior, repárala para que la inserción se pueda completar sin error.
INSERT INTO locations (LOCATION_ID, STREET_ADDRESS)
VALUES (3300, 'C/Carlos III, 3', 'Cartagena');Añade lo mínimo necesario para que la sentencia se ejecute correctamente.
Tipo
Solución
INSERT INTO HR.locations (LOCATION_ID, STREET_ADDRESS, CITY)
VALUES (3300, 'C/Carlos III, 3', 'Cartagena');
Prueba
SELECT * FROM HR.locations WHERE LOCATION_ID = 3300
LibrerÃas (Onfly databases)

