Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2010, 09:03
juanxml
 
Fecha de Ingreso: junio-2009
Mensajes: 45
Antigüedad: 15 años, 4 meses
Puntos: 0
Insertar en Tabla Anidada

Hola, quiero insertar una compra de un cliente, la primary key de la tabla cliente es DNI.

Para insertar hago lo siguiente:

INSERT INTO OrdenCompra
SELECT 1, REF(C), LineaCompra_TipoAnidada()
FROM Cliente C
WHERE C.Nombre = 'Juan ...'
/

INSERT INTO THE (
SELECT O.LineaCompra_Anidada
FROM OrdenCompra O
WHERE O.IdCompra = 1)
SELECT 1, 1, REF(A)
FROM Articulo A
WHERE A.Nombre = 'XXX'
/

Pero me dice que C.Nombre no es un identificador válido. Sólo funciona si lo hago sobre DNI que es la clave primaria, ¿no es posible hacer una inserción o una consulta sobre un campo que no es pk? si no es así que estoy haciendo mal.

Muchas gracias.