oracle , comando insert

FLako87

hola , estoy creando una base de datos para un videoclub y weno soy novato en el tema puesto que me he metido en un curso de gestion de base de datos y estoy practicando en casa, mi problema esta al intentar meter un insert :
INSERT INTO SOCIOS (documento, nombre, apellidos, fNac) VALUES ('41787095G', 'LESMES', 'SIVERIO LEON',tO_date ('01/12/1978','dd/mm/yy');
me dice que falta la coma, no entiendo en que lugar si alguien podria decirme se lo agradeceria muchisimo, un saludo.

m0rG

Te falta un paréntesis derecho(el último).Además puede que me equivoque pero para introducir fechas con el tipo date valdría con '18/08/1987' (por poner un ejemplo) sin utilizar esa función.

FLako87

como dices que quedaria asi;
INSERT INTO SOCIOS (documento, nombre, apellidos, fNac) VALUES ('41787095G', 'LESMES', 'SIVERIO LEON',tO_date ('01/12/1978','dd/mm/yy'));

Gn0m4

A parte del parentesis final, en SQL las fechas van entre # y con colocacion americana (mm/dd/yy)

SeiYa

Está llamando a una función para insertar la fecha de una determinada forma, no tiene mucho que ver eso de las # y además, no siempre van las fechas entre # depende de muchos factores.

¿Nunca habéis visto un campo datetime que guarda las fechas de la forma yyyymmddhhmmss? Ahí no van nunca entre # :P

Riu

INSERT INTO SOCIOS VALUES ('41787095G', 'LESMES', 'SIVERIO LEON',to_date ('01/12/1978'));
ORACLE RECONOCE LOS CAMPOS DE ESA TABLA por lo que no debes especificar los lugares donde quieres meter los datos , si te falta algun dato debido a que sea de tipo restrictivo tipo primary key foreing key o not null , tienes que ponerlos por cojones pero por ejemplo si es un valor que no hace falta para relaccionar con ninguna otra tabla o no nulo , puedes ponerlo en blanco.
para hacerlo correctamente puedes hacerlo asi.
desc SOCIOS; (ves los valores y el tipo que son).
insert into nombretabla values ('valor1','valor2'...);
y ya quedaria correctamente insertada..

Usuarios habituales

  • Riu
  • SeiYa
  • Gn0m4
  • FLako87
  • m0rG