Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/02/2008, 13:40
Avatar de iislas
iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 6 meses
Puntos: 180
Re: procedimiento almacenado anidado

fer_herb

El problema inicial, se refiere a que cuando haces un INSERT INTO en conjunto con un SELECT, la lista de columnas que regresa este, debe ser igual al de la tabla en cuestion, ejemplo

TABLA: PRECIO

idProducto int
cDescripcion varchar(50)
iPrecio Smallmoney

Si deseo hacer un insert, de solo el idProducto y iPrecio, seria asi:

INSERT INTO PRECIO (idProducto, iPrecio)
SELECT 245767, 12.50

Por el contrario, si hago un SELECT a una tabla que traiga mas campos o menos, de los especificados en PRECIO, te resultaria el error, ejemplo:

Tabla: PRECIOS_INTERNOS
idProducto int
cDescripcion varchar(50)
iPrecio Smallmoney
idSucursal int
idDivision int

E intento hacer un INSERT con un SELECT

INSERT INTO PRECIO
SELECT * FROM PRECIOS_INTERNOS

Me dara un mensaje de error.