procedimiento almacenado que llama otro procedimiento almacenado

626 views
Skip to first unread message

Luis suescún

unread,
Jan 20, 2015, 10:45:27 AM1/20/15
to sistemas-gestores...@googlegroups.com
 
Hola!!!
 
Alguien me podría ayudar, como debo programar la llamada de un PA desde otro y recibir un conjunto de filas del PA llamado?.
 
Muchas gracias.
 
un abrazo.
 

Analyzer

unread,
Jan 20, 2015, 11:59:33 AM1/20/15
to sgbd
Sería bueno que comentaras en que sgbd sería?


Saludos!

--
Has recibido este mensaje porque estás suscrito al grupo "Sistemas Gestores de Bases de Datos" de Grupos de Google.
Visita este grupo en http://groups.google.com/group/sistemas-gestores-de-bases-de-datos.

Luis suescún

unread,
Jan 20, 2015, 3:08:19 PM1/20/15
to sistemas-gestores...@googlegroups.com
Huuuuuuuuuuyyy
 
que pena hombre learner. mis disculpas.
Es SQL Server 2008.
 
un abrazo

Carlos Miguel FARIAS

unread,
Jan 20, 2015, 6:54:02 PM1/20/15
to sistemas-gestores...@googlegroups.com
Debería haber un comando CALL o EXEC, no recuerdo bien.
Puede variar si es un SP interno o externo. Hace mucho que no trasteo con SQL Server
Saludos: Miguel, La Pampa (RA)

Luis suescún

unread,
Jan 21, 2015, 7:09:32 AM1/21/15
to sistemas-gestores...@googlegroups.com
Carlos muchas Gracias.
 
En realidad mi problema no radica en como hacer o llamar el PA, sino en como llamar un PA desde otro para recibir un conjunto de filas.
de hecho lo tengo llamando un PA desde otro, pero retornando un valor, quiero hacer lo mismo pero retornando y principalmente recibir el conjunto de filas.
 
 
un abrazo.

Carlos Miguel FARIAS

unread,
Jan 21, 2015, 7:33:32 AM1/21/15
to sistemas-gestores...@googlegroups.com

Luis suescún

unread,
Jan 21, 2015, 9:52:22 AM1/21/15
to sistemas-gestores...@googlegroups.com
Ok. Carlos.
 
Mil gracias.
ya había estado en esa pagina, y con ese tutorial.
 
hay esta el ejemplo, de como retornar el conjunto de resultados.
Necesito es un ejemplo, de como recibir ese conjunto de filas en el PA llamador.
 
Un abrazo.

Luis suescún

unread,
Jan 21, 2015, 9:54:09 AM1/21/15
to sistemas-gestores...@googlegroups.com
Carlos. y porque dejaste SQL Server.
si se puede saber.

Erwin Vera (Gmail)

unread,
Jan 21, 2015, 12:01:22 PM1/21/15
to sistemas-gestores...@googlegroups.com

Disculpen pero estea es una manera de hacerlo, la tabla temporal #kmovtmp debe tener la misma estructura del cursor resultante del PA, en este caso el PA PA_InvCostoAl devuelve un cursor que se inserta con el INSERT INTO que lo invoca, la línea de comando termina en el “;”

 

INSERT INTO #kmovtmp (codart,

                      CantindadEnt,

                      CantindadSal,

                      MontoEnt,

                      MontoSal,

                      MontoEnt_MM,

                      MontoSal_MM)                 

exec PA_InvCostoAl @cCodArt,@fechaal ;

Luis suescún

unread,
Jan 22, 2015, 7:30:57 AM1/22/15
to sistemas-gestores...@googlegroups.com
Excelente Erwin.
te entiendo muy bien tu ejemplo.
 
mil gracias hermano.
 
un abrazo.

Luis suescún

unread,
Jan 22, 2015, 10:32:02 AM1/22/15
to sistemas-gestores...@googlegroups.com
Muchas Gracias Lerner.
 
Ya se resolvió el asunto con la recomendación de Erwinn
 
mil Gracias a todos los que me apoyaron.
 

On Tuesday, January 20, 2015 at 11:59:33 AM UTC-5, BD Learner wrote:

Erwin Vera

unread,
Jan 22, 2015, 10:35:48 AM1/22/15
to sistemas-gestores...@googlegroups.com
100pre a la orden!

Espero que les sirva!, y si tienen alguna otra duda sobre SQL y que ya me halla dado mi porrazo, les escribiré para ayudarlos en la medida de mis posibilidades!

De quien 100pre los tiene presentes
Erwin Vera 

 

De quien siempre los tiene presentes

Erwin Vera

0416-623.49.49
0412-322.03.10
@ercoto

http://todoentecnologiahoy.blogspot.com/

B95.gif

Luis suescún

unread,
Jan 22, 2015, 10:40:35 AM1/22/15
to sistemas-gestores...@googlegroups.com
Erwin, una duda..
y te la hago solo por cultura general...
 
de la manera como planteas la solución, prácticamente, establece que el PA llamado, solo debería devolver un solo grupo de resultados(filas)
si yo requiero que el PA llamado, retornara varios grupos de resultados(filas) como se podría para determinar cual o cuales grupos quiero atrapar en la o las tablas retornadas con un solo llamado al PA.
 
No se si hayas programado PA que te retornen múltiples cursores.
 
 
Mil gracias.
 

On Wednesday, January 21, 2015 at 12:01:22 PM UTC-5, Erwin Vera wrote:

Analyzer

unread,
Jan 22, 2015, 10:49:04 AM1/22/15
to sgbd
Luis,

Sobre esta última pregunta, revisa este comentario en el siguiente link:


Donde dice: Prácticas Recomendadas.
Evite el procesamiento o la devolución de demasiados datos.


Saludos!

Luis suescún

unread,
Jan 22, 2015, 10:59:34 AM1/22/15
to sistemas-gestores...@googlegroups.com
Ok Learner.
 
lo mirare, y es válido.
Solo que a veces pueden ser conjuntos de resultados de pocas filas y pocos campos. que uno puede predecir fácilmente.
 
Mil gracias.

Analyzer

unread,
Jan 22, 2015, 11:10:31 AM1/22/15
to sgbd
Encontré esto, por si gustas darle un vistazo:

Usar múltiples conjuntos de resultados - SQL Server 2008 R2



Saludos!

Erwin Vera

unread,
Jan 22, 2015, 11:24:42 AM1/22/15
to sistemas-gestores...@googlegroups.com
Eso si es una señora pregunta, mis respetos!, no se que decir!

 

De quien siempre los tiene presentes

Analyzer

unread,
Jan 22, 2015, 11:29:27 AM1/22/15
to sgbd
Am.. No. El enlace anterior menciona un controlador de Java (JDBC)

Creo que la cosa va mas por lo del MARS (Conexión abierta):


El famoso MySql no soporta MARS del MS SQL con ADO.NET para consultas múltiples.



Saludos!

Analyzer

unread,
Jan 22, 2015, 11:32:53 AM1/22/15
to sgbd
>de la manera como planteas la solución, prácticamente, establece que el PA llamado, solo debería devolver un solo grupo de resultados(filas)
si yo requiero que el PA llamado, retornara varios grupos de resultados(filas) como se podría para determinar cual o cuales grupos quiero atrapar en la o las tablas retornadas con un solo llamado al PA.

Leo en el blog de Firebird de Walter, que Firebird si acepta los dos tipos de SP.


Saludos!

Luis suescún

unread,
Jan 22, 2015, 11:44:33 AM1/22/15
to sistemas-gestores...@googlegroups.com
Erwin, tranquilo.
 
No se trata de corcharte(rajarte), es que yo tal ves he sido descuidado a la hora de programar PA y como visual FoxPro, le recibe a sql server todos los conjuntos de resultados que este le mande, yo estoy mal acostumbrado.
 
Igualmente sigo muy agradecido con todos ustedes.
 
un abrazo.

Luis suescún

unread,
Jan 22, 2015, 11:47:16 AM1/22/15
to sistemas-gestores...@googlegroups.com
Tranquilo Lerner.
 
Seguramente debo de replantear algunas cosas en lo que necesito.
Lo que pasa es que estoy tratando de acoplar unos PA ya implementados, para hacer lo mismo, pero desde otro requerimiento y bajo otras circunstancias.
 
 
mil gracias.
 
un abrazo

Luis suescún

unread,
Jan 22, 2015, 11:49:32 AM1/22/15
to sistemas-gestores...@googlegroups.com
Bueno, si son todos, también me sirve la respuesta.
Me retracto, si son varios, como los atrapo a todos(los conjuntos de resultados) ?

Luis suescún

unread,
Jan 22, 2015, 11:58:18 AM1/22/15
to sistemas-gestores...@googlegroups.com
Erwin Disculpame..
De pronto yo de la forma como hago la pregunta, lo complico.
digamos que quiero atrapar todos los conjuntos de resultados que retorna el PA llamado.
 
Un abrazo
 

On Thursday, January 22, 2015 at 11:24:42 AM UTC-5, Erwin Vera wrote:

Analyzer

unread,
Jan 22, 2015, 12:27:56 PM1/22/15
to sgbd
Luis,

Mencionaste algo de VFP..

Si la cosa es atrapar los resultados desde un cliente como una aplicación VFP, creo que este no sería el foro/grupo correcto para obtener una respuesta precisa.

Lo que sucede es que este grupo (sgbd) es más para brindar ayuda sobre lo que ocurre en el propio motor, sea sql server, firebird, mysql, oracle, postgresql, etc.

Te sugiero plantear la pregunta en un grupo como estos:

Comunidad VFP en Español

Visual Foxpro Latinoamerica

Mundo Visual Foxpro

Zorros Mexicanos

Parece que con VFP la cosa iba con la función SQLMORERESULTS()


Saludos!

Luis suescún

unread,
Jan 22, 2015, 1:20:22 PM1/22/15
to sistemas-gestores...@googlegroups.com
Learner, menciono lo de vfp, porque así sucede en vfp, este te recibe una serie de cursores de diferentes estructuras(# decolumnas y tipo de datos) de sql server y los recibo en una serie de cursores llamados sqlresult, sqlresult1.....sqlresultn donde n es igual al numero de cursores devueltos por sqlserver -1
entonces como te puedes dar cuenta, quiero replicar esa misma característica en un PA de sql server.
 
un abrazo hermano

Analyzer

unread,
Jan 22, 2015, 3:22:45 PM1/22/15
to sgbd
Ah.. Bien.. Entonces es dentro del mismo motor sql..

Pues no sé mucho del tema, pero igual te apoyo buscando. Mira lo que encontré:

Trabajar con conjuntos de resultados en la tarea Ejecutar SQL


Saludos!

Analyzer

unread,
Jan 22, 2015, 3:27:36 PM1/22/15
to sgbd
Encontré esta frase en la lectura del siguiente enlace:

Para finalizar un conjunto de resultados procesado parcialmente y comprobar la presencia de otro conjunto de resultados, llame a SQLMoreResults.

Utilizar conjuntos de resultados predeterminados de SQL Server

Luis suescún

unread,
Jan 23, 2015, 8:35:58 AM1/23/15
to sistemas-gestores...@googlegroups.com
Ok.
 
Muchas gracias, Learner
 
 
un abrazo
Reply all
Reply to author
Forward
0 new messages