Estoy diseñando un website y necesito ayuda para crear procedimientos almacenados anidados. Utilizo Windows 98, Personal Web Server como servidor de prueba, Dreamweaver MX con ASP VBScript y SQL 2000 Server como base de datos.
Si no saben nada de esto, ¿podrían darme algunas direcciones donde pueda encontrar información al respecto o foros especializados?. Si están en inglés también.
Allá voy!
EN EL PUNTO QUE ESTOY AHORA:
Sé crear un procedimiento almacenado en SQL 2000 S para que me inserte en una tabla de la base de datos varios parámetros y me devuelva el Id auto numérico, eso ya lo he integrado en la aplicación web y me funciona. El problema viene cuando quiero crear otro procedimiento almacenado anidado al anterior para que cuando acabe el primero se ejecute automáticamente el segundo procedimiento, el cual inserta otros parámetros en otra tabla distinta e inserta también en ésta el Id auto numérico que ha sacado el primer procedimiento. (Que rollito eh ,...) aquí tienen tal y como tengo escritos los dos procedimientos:
GO
CREATE PROC formulario_parte1
@Data datetime, @Titulo_Oferta text, @Empresa_num int
AS
SET NOCOUNT ON
INSERT INTO Ofertas (Data, Titulo_Oferta, Empresa_num)
VALUES (@Data, @Titulo_Oferta, @Empresa_num)
SELECT @@Identity AS Oferta_num
SET NOCOUNT OFF
EXEC formulario_parte2
GO
GO
CREATE PROC formulario_parte2
@NombreProducto text, @FamiliaNum int, @CalidadNum int, @Medidas numeric(9),
@PrecioKilo money, @Oferta_num int
AS
INSERT INTO Productos (Nombre_Producto, Familia_num, Calidad_num, Medidas, Precio_kilo, Oferta_num)
VALUES (@NombreProducto, @FamiliaNum, @CalidadNum, @Medidas,
@Preciokilo, @Oferta_num)
GO
Que es lo que falla? Como puedo decirle al procedimiento formulario_parte2 que inserte el Id auto numérico que ha sacado el primer procedimiento?
Mensaje de error cuando ejecuto los dos procedimientos desde la aplicación web:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
/tienda/nueva oferta ok.asp, line 76
Supongo que es posible anidar estos dos procedimientos y llamarlos desde una misma página de la aplicación web de forma que un solo formulario ejecute a ambos.
Muchas Gracias,
Cesar