Autor
|
Tema: Problemilla en SQL DEVELOPER (Leído 9,595 veces)
|
birdez
Desconectado
Mensajes: 114
|
Buenos días a todos antes de nada quiero comentaros que no se si este el el lugar correcto para poner este mensaje sino es así lo siento y ponerlo donde debería estar, gracias.
Pues bien mi problema es el siguiente tengo que hacer un proyecto con SQL Developer y Forms.
HE usado el Toad Data Molder para hacer las tablas y las relaciones, con este mismo programa he creado el Script para que me cree las tablas. A continuación cree un archivo para insertar los datos en cada tabla, creo que los datos están bien puestos en cada campo esta lo que corresponde, también hice un usuario el cual esta en un tablespace que cree y tiene distintos roles como:
grant create session to Usuario;
grant create table, create view, create procedure, create trigger, create sequence to Usuario;
(MI PROBLEMA) En el SQL Developer creo el usuario lo conecto y ejecuto la creación de tablas, hasta ahí todo va bien, pero cuando ejecuto el archivo para insertar los datos me da todo errores, a la hora de insertar clientes me dice esto:
SQL Error: ORA-00913: demasiados valores
y a la hora de insertar el resto de las cosas me sale esto:
SQL Error: ORA-00942: la tabla o vista no existe
no entiendo bien porque sucede esto ya que las tablas me aparecen en el Developer pero con los campos vacíos ya que no me los a rellenado.
Si necesitáis algo mas de información pedirla, como por ejemplo si queréis que os pase el código de los Script, la inserción de los datos o la creación del usuario.
Espero que alguien pueda ayudarme muchas gracias por leer el mensaje. Un saludo.
|
|
|
En línea
|
|
|
|
Toxico
Desconectado
Mensajes: 406
|
Hola, 1.- Asegúrate que las inserciones sean explicitas ejem: insert into {campos} values {valores} 2.- Cuando vas a insertar registros de tipo fecha asegúrate que por cada valor que se vaya a insertar en un campo de tipo fecha tenga la funcion to_date. 3.- Asegúrate que cada instrucción termine con ; 4.- Si estas insertando un campo de tipo numérico verifica si el separador decimal es "." o ",", si es "," puede que se este identificando como otro campo por eso el mensaje de que estas insertando mas campos. 5.- te sale el mensaje que la tabla no existe por que si es un script grande y ha fallado en alguna parte no se ha terminado de ejecutar y no se han creado las tablas 6.- Asegurate tambien que las tablas no las este creando con "", ya que esto hace que cuando se realice la consulta a las tablas sea case sensitive, si nada de esto es postea la estructura de la tabla y un insert que tengas para poder ayudarte mejor Pd: mis disculpas si me explico como el culo
|
|
|
En línea
|
solo el principio....
|
|
|
birdez
Desconectado
Mensajes: 114
|
te poste las tablas xq la verdad q mire lo q me dijiste y no encontre nada erroneo pro se me puede a ver pasado xD Crear tablas:
/* Created 04/06/2012 Modified 05/06/2012 Project Model Company Author Version Database Oracle 10g */
Drop table "Reparto" / Drop table "Vehiculo" / Drop table "Comercial" / Drop table "Pedido" / Drop table "Productos" / Drop table "Cliente" /
-- Create Types section
-- Create Tables section
Create table "Cliente" ( "DNI_Cliente" Varchar2 (9) NOT NULL , "Nombre_Propietario" Varchar2 (30), "Nombre_Empresa" Varchar2 (50) NOT NULL , "Direcci_n" Varchar2 (50) NOT NULL , "Localidad" Varchar2 (30) NOT NULL , "Telefono" Varchar2 (9), primary key ("DNI_Cliente") ) /
Create table "Productos" ( "Cod_Producto" Varchar2 (10) NOT NULL , "Descripci_n" Varchar2 (50) NOT NULL , "Peso_Cantidad" Varchar2 (30), "Unidades_minimas" Number, "Precio_Unidad" Number(5,2), primary key ("Cod_Producto") ) /
Create table "Pedido" ( "Cod_Pedido" Number NOT NULL , "Fecha_pedido" Varchar2 (30) NOT NULL , "DNI_Cliente" Varchar2 (9) NOT NULL , "Cod_Producto" Varchar2 (10) NOT NULL , primary key ("Cod_Pedido","Fecha_pedido") ) /
Create table "Comercial" ( "DNI_Comercial" Varchar2 (9) NOT NULL , "Nombre_Comercial" Varchar2 (30), "Apellidos_Comercial" Varchar2 (30), "Matricula" Varchar2 (7) NOT NULL , "Telefono" Varchar2 (9), "Direcci_n" Varchar2 (50), primary key ("DNI_Comercial","Matricula") ) /
Create table "Vehiculo" ( "Matricula" Varchar2 (7) NOT NULL , "Marca" Varchar2 (30), "Modelo" Varchar2 (30), primary key ("Matricula") ) /
Create table "Reparto" ( "Cod_Pedido" Number NOT NULL , "Fecha_pedido" Varchar2 (30) NOT NULL , "DNI_Comercial" Varchar2 (9) NOT NULL , "Matricula" Varchar2 (7) NOT NULL , primary key ("Cod_Pedido","Fecha_pedido","DNI_Comercial","Matricula") ) /
-- Create Foreign keys section
Alter table "Pedido" add foreign key ("DNI_Cliente") references "Cliente" ("DNI_Cliente") /
Alter table "Pedido" add foreign key ("Cod_Producto") references "Productos" ("Cod_Producto") /
Alter table "Reparto" add foreign key ("Cod_Pedido","Fecha_pedido") references "Pedido" ("Cod_Pedido","Fecha_pedido") /
Alter table "Reparto" add foreign key ("DNI_Comercial","Matricula") references "Comercial" ("DNI_Comercial","Matricula") /
Alter table "Comercial" add foreign key ("Matricula") references "Vehiculo" ("Matricula") /
-- Create Object Tables section
-- Create XMLType Tables section
-- Create Functions section
-- Create Sequences section
-- Create Packages section
-- Create Synonyms section
-- Create Table comments section
-- Create Attribute comments section
Insertar datos: CREATE SEQUENCE codigosped START WITH 1 INCREMENT BY 1 MAXVALUE 1000000;
CREATE SEQUENCE codigosrep START WITH 1 INCREMENT BY 1 MAXVALUE 1000000;
INSERT INTO Cliente VALUES ('1257890B', 'Pepe','Casa Pepin','C/ Langreo nº 8','Oviedo','985725566'); INSERT INTO Cliente VALUES ('7894526C','Amancio','Llagar del Prao','C/ Tenderina nº 15','Oviedo','985724412'); INSERT INTO Cliente VALUES ('1456792V','Luis','Restaurante Luis','C/ Juan Manuel Castaño nº 81','Gijón','985725060'); INSERT INTO Cliente VALUES ('9875214L','Pepi','La Casina Pepi','C/ Meres nº 8','Meres','985722525');
INSERT INTO Productos VALUES ('CAF001','Café Descafeinado','5KG','2','8.5'); INSERT INTO Productos VALUES ('MANZ001','Manzanilla','25 unid','2','5.25'); INSERT INTO Productos VALUES ('AZUV001','Azucar','100','1','3');
INSERT INTO Pedido VALUES (codigosped.NEXTVAL,'04/06/2012','12578905B','CAF001'); INSERT INTO Pedido VALUES (codigoped.NEXTVAL,'05/06/2012','98753214L','AZU001');
INSERT INTO Vehiculo VALUES ('1234BBC','Renault','Kangoo'); INSERT INTO Vehiculo VALUES ('1235BBC','Renault','Kangoo');
INSERT INTO Comercial VALUES ('3692581A','José Domingo','Ruiz Alonso','1234BBC','658652315','C/ Altamira nº 15'); INSERT INTO Comercial VALUES ('45736902Q','Felipe','Alonso Sierra','1234BBC','639987521','C/ Perdigones nº 2');
INSERT INTO Reparto VALUES (codigosrep.NEXTVAL,'05/06/2012','3692581A'); INSERT INTO Reparto VALUES (codigosrep.NEXTVAL,'06/06/2012','45736902Q');
Creacion de usuario ( no creo q tenga mucho q ver pro x si acaso xD
create tablespace PROYECTO datafile 'proyecto' size 2M autoextend on next 200K maxsize UNLIMITED;
create user GERENTE identified by GERENTE default tablespace PROYECTO quota UNLIMITED on PROYECTO;
grant create session to GERENTE;
grant create table, create view, create procedure, create trigger, create sequence to GERENTE;
gracias x ayudarme
|
|
|
En línea
|
|
|
|
Toxico
Desconectado
Mensajes: 406
|
Te están saliendo errores por el punto 6 que te puse.
Ejem:
Estas creando la tabla cliente dentro de "".
en oracle cuando creas un campo dentro de "" son diferentes que cuando no los tiene, bueno no solo en oracle.
es decir "Cliente" es distinto de cliente.
- en el insert estas metiendo el valor codigoped.NEXTVAL para el campo que contiene una secuencia, esto no es necesario.
|
|
|
En línea
|
solo el principio....
|
|
|
birdez
Desconectado
Mensajes: 114
|
entonces deberia o poner en los dos sitios "Cliente" o Cliente no? una de las dos cosas pro no las dos
y lo de codigoped.NEXTVAL es para q sea autonumerico no? para q cada vez me aumente uno desde 1 hasta X
no es asi?
|
|
|
En línea
|
|
|
|
Toxico
Desconectado
Mensajes: 406
|
Lo del NEXTVAL es lo que tu mencionas pero no es necesario(en realidad el termino es autogenerado), por eso te sale error de que estas insertando mas campos del que deberías.
Cuando crees las tablas y los campos te aconsejo que las crees sin ("), para que en la inserción no tengas problemas en ello.
|
|
|
En línea
|
solo el principio....
|
|
|
birdez
Desconectado
Mensajes: 114
|
okei muchas gracias entonces al crear las tablas nada de "" sino solamente el nombre y listo
y en lo del autonumerico que deberia ponerlo asi x ejem:
INSERT INTO Pedido VALUES ("", '04/06/2012','12578905B','CAF001');
para q "" signifique q no pongo nada ? o deberia poner solamente el nombre de la secuencia?
INSERT INTO Pedido VALUES (codigoped, '04/06/2012','12578905B','CAF001');
|
|
|
En línea
|
|
|
|
Toxico
Desconectado
Mensajes: 406
|
En el insert no coloques nada quedaria algo asi: INSERT INTO Pedido (Fecha_pedido, DNI_Cliente, Cod_Producto) VALUES ( '04/06/2012','12578905B','CAF001'); Edit: Fallo mio me equivocado jeje.
|
|
« Última modificación: 5 Junio 2012, 23:05 pm por Toxico »
|
En línea
|
solo el principio....
|
|
|
birdez
Desconectado
Mensajes: 114
|
okei muchas gracias x resolverme la duda xD
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Visual Web Developer
.NET (C#, VB.NET, ASP)
|
Meta
|
0
|
2,468
|
8 Marzo 2009, 14:52 pm
por Meta
|
|
|
visual web developer
Desarrollo Web
|
energiasolartermica
|
0
|
2,233
|
23 Julio 2010, 11:52 am
por energiasolartermica
|
|
|
Windows 8 Developer Preview.
Windows
|
Randomize
|
6
|
5,822
|
23 Septiembre 2011, 22:57 pm
por Zorronde
|
|
|
Ubuntu App Developer
Noticias
|
wolfbcn
|
0
|
1,484
|
2 Octubre 2011, 02:58 am
por wolfbcn
|
|
|
tema 2.0 Pl/Sql Developer 9.0.6.1665
Software
|
tricampeon81
|
0
|
1,310
|
10 Agosto 2012, 03:03 am
por tricampeon81
|
|