Oracle - insert en tabla

   
Vista:

insert en tabla

Publicado por Juanjose Miguelez (1 intervención) el 17/05/2011 11:19:05
Hola a tod@s

Estoy empezando con Oracle tengo que crear una aplicación .NET que permita atacar Oracle.

Casi todas las consultas de insercción que he visto en ejemplos son sencillas y son del tipo:

1
insert into employee(name, departament, join_date) values('Peter Griffin','Games','2010/9/25')



No he visto cómo es la tabla (no se si tiene mas campos) por lo que mi duda es si puedo construir una consulta en la que no sea necesario incluir todos los campos de la tabla y si fuera así cómo hacerla.

1
insert into employee(name, join_date) values('Peter Griffin','2010/9/25')



Esta misma pregunta se extiende para Update.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

insert en tabla

Publicado por Leonardo Josué (44 intervenciones) el 17/05/2011 23:34:14
Hola Juanjose:

Para hacer un insert a una tabla no es necesario listar todos los campos que la forman, solo aquellos que sea quieras insertar y aquellos que no permitan nulos, por ejemplo, supongamos que creamos una tabla con la siguiente estructura:

1
2
3
4
5
TABLA "EJEMPLO"
 
automatico -> numérico, llave primaria, autoincremental
requerido -> varchar2, no nulo
no_requerido -> varchar2



Es decir, el campo automático es la llave de la tabla y autoincremental, el campo requerido no puede ser nulo y el campo requerido puede ser nulo. con una tabla así, todos estos son insert's válidos:

1
2
3
4
5
6
1) INSERT INTO EJEMPLO (requerido) VALUES ('UNO');
2) INSERT INTO EJEMPLO (automatico, requerido, no_requerido) VALUES (NULL, 'DOS', '2');
3) INSERT INTO EJEMPLO (automatico, requerido) VALUES (NULL, 'TRES');
4) INSERT INTO EJEMPLO (automatico, requerido, no_requerido) VALUES (NULL, 'SEIS', NULL);
5) INSERT INTO EJEMPLO VALUES (NULL, 'CUATRO', 'CUATRO');
6) INSERT INTO EJEMPLO VALUES (NULL, 'CINCO', NULL);



Para los casos 1 a 4 se incluye la lista de los campos, pero como podrás ver puede ir uno solo, algunos o todos. lo único que es necesario es que corresponda al numero de elementos que pasas en el VALUE.

para los casos 5 y 6 como verás no se incluye la lista de los campos, por lo que será necesario que en la opción VALUE listes todos los campos de tu tabla y en el orden en que fueron creados.

para el caso del UPDATE, sólo es necesario que liste AL MENOS UN CAMPO A ACTUALIZAS, no es necesario especificar todos. Dale un vistazo a cualquier manual de ORACLE para que observes la sintaxis correspondiente, o pregúntale a SAN GOOGLE, el por lo general tiene la respuesta.

Saludos
Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar