Ahora yo para no estar creando estas tablar temporales y demás, he optado por crearlas estas tablas como fijas.... pero le coloco un campo adicional para validar que códigos envió tal usuario....
Por ejemplo yo he creado una tabla Tipo_Articulo_Reporte con estos campos : codusu, codigo
Y cuando voy a analizar los campos seleccionados antes elimino los datos que estan en esta tabla DELETE FROM Tipo_Articulo_Reporte WHERE codusu = @codusu, y luego de eliminar hago los INSERTS respectivos....
Y luego se llama al SP.
En el sp debería decir algo así
SELECT....
FROM Tabla
WHERE codigo IN ( SELECT codigo
WHERE codusu = @codusu )
Movistar : 962621103
Date: Tue, 22 Oct 2013 12:04:13 -0500
Subject: Re: IN en Procedimiento Almacenado
From: betocuevas.net@gmail.com
To: techeraz9@googlegroups.com
Mi estimado si la forma correcta de enviar tus datos es como comentas:
EXEC SP_PROCEDIMIENTO '000003, 000004'
entonces el conjunto de códigos que selecciones al final lo concatenas para que guarde la forma en que comentas se puede enviar, ahora si no puedes hacer ello, lo que hice yo es crear una tabla temporal y a cada código que capturaba lo iba insertando con un INSERT ... a la tabla temporal y en el sp junto a la instrucción IN le pongo así
SELECT....
WHERE codigo IN ( SELECT cod FROM #TablaTemporal )Fabio Pacheco Quiroz
Movistar : 962621103RPM : #0047115RPC : 991997338Trujillo - Perú
Date: Tue, 22 Oct 2013 11:55:49 -0500
Subject: Re: IN en Procedimiento Almacenado
From: betocuevas.net@gmail.com
To: techeraz9@googlegroups.comGracias por la respuesta, empece a buscar Arrays en Procedimientos Almacendos y bueno lo que veo es que para poder enviar varios datos a un IN en un Procedimiento se debe crear una cadena separada por comas entonces deberia ejecutar asi:
EXEC SP_PROCEDIMIENTO '000003, 000004'
Yo por un FOR recupero los codigos de los registros seleccionado con el checkbox desde PB como puedo lograr se envien al Procedimiento como cadena '000003, 000004' por ejemplo.
Quizas ya antes ha resuelto esto, gracias.El 22 de octubre de 2013 11:40, Fabio Pacheco Quiroz <edwin_fabio@hotmail.com> escribió:
Talves ésto te puede servir...
http://geeks.ms/blogs/jirigoyen/archive/2010/10/17/utilizando-arrays-de-parametros-en-procedimientos-almacenados-con-sql-server.aspx
Fabio Pacheco Quiroz
Movistar : 962621103RPM : #0047115RPC : 991997338Trujillo - Perú
Date: Tue, 22 Oct 2013 11:36:20 -0500
Subject: IN en Procedimiento Almacenado
From: betocuevas.net@gmail.com
To: powerbuilder-ica@googlegroups.com; techeraz9@googlegroups.com--Me muestra este error:Estimados, tengo un procedimiento almacenado en SQL Server 2008 similar a esto:Al ejecutar:
ALTER PROCEDURE SP_PROCEDIMIENTO
@CODIGO VARCHAR(6)
AS
SELECT CAMPO_2
FROM TABLA
WHERE CAMPO_1 IN (@CODIGO)
EXEC SP_PROCEDIMIENTO ('000003','000004')
Procedure or function SP_PROCEDIMIENTO has too many arguments specified.
Alguien que haya creado ya un Procedimiento Almacenado con un IN que me pueda dar un ejemplo de como ejecutarlo desde el SQL Server y como debo enviarle los parametros desde el PowerBuilder.Saludos.
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a techeraz9+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a techeraz9+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a techeraz9+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a techeraz9+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a techeraz9+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

0 comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.