ejecutar un proc almacenado desde una instruccion SQL

08/09/2003 - 11:41 por Sanchez Arnoletto Martin Rodrigo | Informe spam
Estimado GRupo:

Tengo un proc. almacenado llamado usp_calcprec al cual el paso el codigo de
un articulo y la lista de precios y me devuelve mediante la variable @prec
el precio de dicho articulo
el tema es que si quiero hacer una lista de precios de articulos, debo
cargar un cursor con todos los componentes e ir recorriendolo y ejecutando
el proc. almacenado para cada uno y no solo se hace lento sino complicado a
la ejecucion.
La pregunta concretamente es:

¿existe la posibilidad de incluir un EXEC dentro de un select??? algo como

select idcomponente, detalle,(exec usp_calcprec idcomponente,idlista,@prec
output) as precio from componentes

Este no funciona
Si existe, cual seria la sintaxis correcta???


Gracias desde ya

Saludos desde Menorca

Ing. Sanchez Arnoletto Martin Rodrigo
messenger: mrsarnoletto@hotmail.com
email: mrsarnoletto@dixisargentina.com.ar

Preguntas similare

Leer las respuestas

#6 Sanchez Arnoletto Martin Rodrigo
08/09/2003 - 13:57 | Informe spam
Aprovecho la colada para preguntar porque se considera al crossposting un
mal habito? Si está bien orientado, creo que es una manera de como ven
llegar a respuestas concretas. Lamento lo ocurrido, pero me gustaría saber
el porqué se lo considera un mal hábito, repito, siempre y cuando se dirijan
a grupos donde se discuta el tema al cual va referido el news. Entiendo
perfectamente que es una herramienta la mar de buena para transmitir SPAM y
cosas por el estilo.

Saludos y disculpen


Ing. Sanchez Arnoletto Martin Rodrigo
messenger:
email:





"Salvador Ramos" escribió en el mensaje
news:
Si, ha sido por el crossposting, pero me alegro mucho de leerte por aquí

jejeje, algo bueno tenía que tener el mal hábito del crossposting, siempre
hay que ver el lado bueno jejeje.

Un abrazo Pablo ;-)))


Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)


"Pablo Roca" escribió en el mensaje
news:
> Ops .. ya veo .. era un crosspost...
>
> Bueno .. es lo mismo.
>
> Un saludo :)
>
> Saludos,
>
> Pablo Roca - Microsoft Visual Foxpro MVP
> Sysop de PortalFox (http://www.portalfox.com)
> La Coruña, España
> "Apoya a FoxPro, utiliza software legal"
>
> "Pablo Roca" escribió en el mensaje
> news:
> > Hombre Salvador!
> >
> > Bienvenido por estos lares ... :))
> >
> > Que los chicos grandes de SQL Server se acerquen por aqui es una buena
> > noticia. :)))
> >
> > Saludos,
> >
> > Pablo Roca - Microsoft Visual Foxpro MVP
> > Sysop de PortalFox (http://www.portalfox.com)
> > La Coruña, España
> > "Apoya a FoxPro, utiliza software legal"
> >
> > "Salvador Ramos" escribió en el mensaje
> > news:
> > > Hola:
> > >
> > > Eso no es posible hacerlo. Para solucionar ese caso tienes las
funciones
> > > definidas por el usuario UDF's.
> > >
> > > Si que podrías hacer SELECT Campo1, Campo2, dbo.TuFunción(@Par1)


FROM
> ...
> > > Para crear estas funciones tienes las instrucción CREATE FUNCTION.
> > >
> > > Esta es una de las novedades de SQL Server 2000, en versiones
anteriores
> > no
> > > estaba disponible.
> > >
> > >
> > > Un saludo
> > > Salvador Ramos
> > > Murcia - España
> > >
> > > No puedes conseguir software rápidamente disminuyendo su calidad.
> > > En cambio, si que lo consigues aumentando la calidad.
> > >
> > > www.helpdna.net (información sobre Windows DNA, SQL Server, .NET,


...)
> > >
> > >
> > > Microsoft MVP SQL Server
> > > MCP SQL Server
> > > PASS Spanish Group (www.sqlpass.org)
> > >
> > >
> > > "Sanchez Arnoletto Martin Rodrigo"


escribió
> en
> > el
> > > mensaje news:#
> > > > Estimado GRupo:
> > > >
> > > > Tengo un proc. almacenado llamado usp_calcprec al cual el paso el
> codigo
> > > de
> > > > un articulo y la lista de precios y me devuelve mediante la


variable
> > @prec
> > > > el precio de dicho articulo
> > > > el tema es que si quiero hacer una lista de precios de articulos,
debo
> > > > cargar un cursor con todos los componentes e ir recorriendolo y
> > ejecutando
> > > > el proc. almacenado para cada uno y no solo se hace lento sino
> > complicado
> > > a
> > > > la ejecucion.
> > > > La pregunta concretamente es:
> > > >
> > > > ¿existe la posibilidad de incluir un EXEC dentro de un select???
algo
> > como
> > > >
> > > > select idcomponente, detalle,(exec usp_calcprec
> > idcomponente,idlista,@prec
> > > > output) as precio from componentes
> > > >
> > > > Este no funciona
> > > > Si existe, cual seria la sintaxis correcta???
> > > >
> > > >
> > > > Gracias desde ya
> > > >
> > > > Saludos desde Menorca
> > > >
> > > > Ing. Sanchez Arnoletto Martin Rodrigo
> > > > messenger:
> > > > email:
> > > >
> > > >
> > >
> > >
> >
>


Respuesta Responder a este mensaje
#7 Salvador Ramos
08/09/2003 - 16:43 | Informe spam
Hola:

En primer lugar comentarte que lo que indico es sólo mi opinión, aunque creo
que compartida por muchos, y que además no me gustaría levantar polémica
sobre el tema :-)

Creo que se debe utilizar, cuando el contenido del mensaje afecta a varios
grupos, como bien indicas. Pero por lo leído me parece que tu pregunta sólo
hace refencia a SQL Server.

Espero haber solucionado tus dudas, y ya sabes aquí estamos para echarte una
mano.

Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)

"Sanchez Arnoletto Martin Rodrigo" escribió en el
mensaje news:
Aprovecho la colada para preguntar porque se considera al crossposting un
mal habito? Si está bien orientado, creo que es una manera de como ven
llegar a respuestas concretas. Lamento lo ocurrido, pero me gustaría saber
el porqué se lo considera un mal hábito, repito, siempre y cuando se


dirijan
a grupos donde se discuta el tema al cual va referido el news. Entiendo
perfectamente que es una herramienta la mar de buena para transmitir SPAM


y
cosas por el estilo.

Saludos y disculpen


Ing. Sanchez Arnoletto Martin Rodrigo
messenger:
email:





"Salvador Ramos" escribió en el mensaje
news:
> Si, ha sido por el crossposting, pero me alegro mucho de leerte por aquí
>
> jejeje, algo bueno tenía que tener el mal hábito del crossposting,


siempre
> hay que ver el lado bueno jejeje.
>
> Un abrazo Pablo ;-)))
>
>
> Un saludo
> Salvador Ramos
> Murcia - España
>
> No puedes conseguir software rápidamente disminuyendo su calidad.
> En cambio, si que lo consigues aumentando la calidad.
>
> www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)
>
>
> Microsoft MVP SQL Server
> MCP SQL Server
> PASS Spanish Group (www.sqlpass.org)
>
>
> "Pablo Roca" escribió en el mensaje
> news:
> > Ops .. ya veo .. era un crosspost...
> >
> > Bueno .. es lo mismo.
> >
> > Un saludo :)
> >
> > Saludos,
> >
> > Pablo Roca - Microsoft Visual Foxpro MVP
> > Sysop de PortalFox (http://www.portalfox.com)
> > La Coruña, España
> > "Apoya a FoxPro, utiliza software legal"
> >
> > "Pablo Roca" escribió en el mensaje
> > news:
> > > Hombre Salvador!
> > >
> > > Bienvenido por estos lares ... :))
> > >
> > > Que los chicos grandes de SQL Server se acerquen por aqui es una


buena
> > > noticia. :)))
> > >
> > > Saludos,
> > >
> > > Pablo Roca - Microsoft Visual Foxpro MVP
> > > Sysop de PortalFox (http://www.portalfox.com)
> > > La Coruña, España
> > > "Apoya a FoxPro, utiliza software legal"
> > >
> > > "Salvador Ramos" escribió en el mensaje
> > > news:
> > > > Hola:
> > > >
> > > > Eso no es posible hacerlo. Para solucionar ese caso tienes las
> funciones
> > > > definidas por el usuario UDF's.
> > > >
> > > > Si que podrías hacer SELECT Campo1, Campo2, dbo.TuFunción(@Par1)
FROM
> > ...
> > > > Para crear estas funciones tienes las instrucción CREATE FUNCTION.
> > > >
> > > > Esta es una de las novedades de SQL Server 2000, en versiones
> anteriores
> > > no
> > > > estaba disponible.
> > > >
> > > >
> > > > Un saludo
> > > > Salvador Ramos
> > > > Murcia - España
> > > >
> > > > No puedes conseguir software rápidamente disminuyendo su calidad.
> > > > En cambio, si que lo consigues aumentando la calidad.
> > > >
> > > > www.helpdna.net (información sobre Windows DNA, SQL Server, .NET,
...)
> > > >
> > > >
> > > > Microsoft MVP SQL Server
> > > > MCP SQL Server
> > > > PASS Spanish Group (www.sqlpass.org)
> > > >
> > > >
> > > > "Sanchez Arnoletto Martin Rodrigo"
escribió
> > en
> > > el
> > > > mensaje news:#
> > > > > Estimado GRupo:
> > > > >
> > > > > Tengo un proc. almacenado llamado usp_calcprec al cual el paso


el
> > codigo
> > > > de
> > > > > un articulo y la lista de precios y me devuelve mediante la
variable
> > > @prec
> > > > > el precio de dicho articulo
> > > > > el tema es que si quiero hacer una lista de precios de


articulos,
> debo
> > > > > cargar un cursor con todos los componentes e ir recorriendolo y
> > > ejecutando
> > > > > el proc. almacenado para cada uno y no solo se hace lento sino
> > > complicado
> > > > a
> > > > > la ejecucion.
> > > > > La pregunta concretamente es:
> > > > >
> > > > > ¿existe la posibilidad de incluir un EXEC dentro de un select???
> algo
> > > como
> > > > >
> > > > > select idcomponente, detalle,(exec usp_calcprec
> > > idcomponente,idlista,@prec
> > > > > output) as precio from componentes
> > > > >
> > > > > Este no funciona
> > > > > Si existe, cual seria la sintaxis correcta???
> > > > >
> > > > >
> > > > > Gracias desde ya
> > > > >
> > > > > Saludos desde Menorca
> > > > >
> > > > > Ing. Sanchez Arnoletto Martin Rodrigo
> > > > > messenger:
> > > > > email:
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
>
>


Respuesta Responder a este mensaje
#8 José Luis
08/09/2003 - 17:02 | Informe spam
Como Pablo yo también he caído en la "trampa" del "cross".

Por un momento creía que te habías dejado influenciar por
Miguel, Al que si vemos de vez en cuando por vfoxpro.

Da igual, aunque no te estemos ganando para la "causa fox"
siempre es un placer saludarte.

José Luis


Hola:

Eso no es posible hacerlo. Para solucionar ese caso


tienes las funciones
definidas por el usuario UDF's.

Si que podrías hacer SELECT Campo1, Campo2, dbo.TuFunción


(@Par1) FROM ...
Para crear estas funciones tienes las instrucción CREATE


FUNCTION.

Esta es una de las novedades de SQL Server 2000, en


versiones anteriores no
estaba disponible.


Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su


calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL


Server, .NET, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)


"Sanchez Arnoletto Martin Rodrigo"


escribió en el
mensaje news:#
Estimado GRupo:

Tengo un proc. almacenado llamado usp_calcprec al cual




el paso el codigo
de
un articulo y la lista de precios y me devuelve




mediante la variable @prec
el precio de dicho articulo
el tema es que si quiero hacer una lista de precios de




articulos, debo
cargar un cursor con todos los componentes e ir




recorriendolo y ejecutando
el proc. almacenado para cada uno y no solo se hace




lento sino complicado
a
la ejecucion.
La pregunta concretamente es:

¿existe la posibilidad de incluir un EXEC dentro de un




select??? algo como

select idcomponente, detalle,(exec usp_calcprec




idcomponente,idlista,@prec
output) as precio from componentes

Este no funciona
Si existe, cual seria la sintaxis correcta???


Gracias desde ya

Saludos desde Menorca

Ing. Sanchez Arnoletto Martin Rodrigo
messenger:
email:






.

Respuesta Responder a este mensaje
#9 Gerardo Mejicano Dìaz
08/09/2003 - 17:09 | Informe spam
Hola:

Este es un ejemplo de la ayuda de SQL Server 2000, donde se crea una
función y puede ser referenciada en un Select, espero te de una idea y te
sirva:

Saludos,

Gerardo Mejicano
Guatemala

CREATE FUNCTION fn_FindReports (@InEmpId nchar(5))
RETURNS @retFindReports TABLE (empid nchar(5) primary key,
empname nvarchar(50) NOT NULL,
mgrid nchar(5),
title nvarchar(30))
/*Returns a result set that lists all the employees who report to given
employee directly or indirectly.*/
AS
BEGIN
DECLARE @RowsAdded int
DECLARE @reports TABLE (empid nchar(5) primary key,
empname nvarchar(50) NOT NULL,
mgrid nchar(5),
title nvarchar(30),
processed tinyint default 0)
INSERT @reports
SELECT empid, empname, mgrid, title, 0
FROM employees
WHERE empid = @InEmpId
SET @RowsAdded = @@rowcount
WHILE @RowsAdded > 0
BEGIN
/*Mark all employee records whose direct reports are going to be
found in this iteration with processed=1.*/
UPDATE @reports
SET processed = 1
WHERE processed = 0
INSERT @reports
SELECT e.empid, e.empname, e.mgrid, e.title, 0
FROM employees e, @reports r
WHERE e.mgrid=r.empid and e.mgrid <> e.empid and r.processed = 1
SET @RowsAdded = @@rowcount
/*Mark all employee records whose direct reports have been found
in this iteration.*/
UPDATE @reports
SET processed = 2
WHERE processed = 1
END

INSERT @retFindReports
SELECT empid, empname, mgrid, title
FROM @reports
RETURN
END
GO

SELECT *
FROM fn_FindReports('11234')
GO

"Sanchez Arnoletto Martin Rodrigo" escribió en el
mensaje news:%
Estimado GRupo:

Tengo un proc. almacenado llamado usp_calcprec al cual el paso el codigo


de
un articulo y la lista de precios y me devuelve mediante la variable @prec
el precio de dicho articulo
el tema es que si quiero hacer una lista de precios de articulos, debo
cargar un cursor con todos los componentes e ir recorriendolo y ejecutando
el proc. almacenado para cada uno y no solo se hace lento sino complicado


a
la ejecucion.
La pregunta concretamente es:

¿existe la posibilidad de incluir un EXEC dentro de un select??? algo como

select idcomponente, detalle,(exec usp_calcprec idcomponente,idlista,@prec
output) as precio from componentes

Este no funciona
Si existe, cual seria la sintaxis correcta???


Gracias desde ya

Saludos desde Menorca

Ing. Sanchez Arnoletto Martin Rodrigo
messenger:
email:


Respuesta Responder a este mensaje
#10 Sanchez Arnoletto Martin Rodrigo
08/09/2003 - 17:49 | Informe spam
Tienes razon Salvador, en lo estricto la pregunta esta dirigida a SQL
server, será que en mi cabeza lo tengo ya muy relacionado a Vfox.
Mil perdones y saludos a todos los colaboradores de las news, que desde
siempre me han ayudado, a Pablo,Luis Maria, y a Jose Luis

Gracias y disculpas

Saludos desde Menorca


Ing. Sanchez Arnoletto Martin Rodrigo
messenger:
email:

"Salvador Ramos" escribió en el mensaje
news:e6%
Hola:

En primer lugar comentarte que lo que indico es sólo mi opinión, aunque


creo
que compartida por muchos, y que además no me gustaría levantar polémica
sobre el tema :-)

Creo que se debe utilizar, cuando el contenido del mensaje afecta a varios
grupos, como bien indicas. Pero por lo leído me parece que tu pregunta


sólo
hace refencia a SQL Server.

Espero haber solucionado tus dudas, y ya sabes aquí estamos para echarte


una
mano.

Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)

"Sanchez Arnoletto Martin Rodrigo" escribió en


el
mensaje news:
> Aprovecho la colada para preguntar porque se considera al crossposting


un
> mal habito? Si está bien orientado, creo que es una manera de como ven
> llegar a respuestas concretas. Lamento lo ocurrido, pero me gustaría


saber
> el porqué se lo considera un mal hábito, repito, siempre y cuando se
dirijan
> a grupos donde se discuta el tema al cual va referido el news. Entiendo
> perfectamente que es una herramienta la mar de buena para transmitir


SPAM
y
> cosas por el estilo.
>
> Saludos y disculpen
>
>
> Ing. Sanchez Arnoletto Martin Rodrigo
> messenger:
> email:
>
>
>
>
>
> "Salvador Ramos" escribió en el mensaje
> news:
> > Si, ha sido por el crossposting, pero me alegro mucho de leerte por


aquí
> >
> > jejeje, algo bueno tenía que tener el mal hábito del crossposting,
siempre
> > hay que ver el lado bueno jejeje.
> >
> > Un abrazo Pablo ;-)))
> >
> >
> > Un saludo
> > Salvador Ramos
> > Murcia - España
> >
> > No puedes conseguir software rápidamente disminuyendo su calidad.
> > En cambio, si que lo consigues aumentando la calidad.
> >
> > www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)
> >
> >
> > Microsoft MVP SQL Server
> > MCP SQL Server
> > PASS Spanish Group (www.sqlpass.org)
> >
> >
> > "Pablo Roca" escribió en el mensaje
> > news:
> > > Ops .. ya veo .. era un crosspost...
> > >
> > > Bueno .. es lo mismo.
> > >
> > > Un saludo :)
> > >
> > > Saludos,
> > >
> > > Pablo Roca - Microsoft Visual Foxpro MVP
> > > Sysop de PortalFox (http://www.portalfox.com)
> > > La Coruña, España
> > > "Apoya a FoxPro, utiliza software legal"
> > >
> > > "Pablo Roca" escribió en el mensaje
> > > news:
> > > > Hombre Salvador!
> > > >
> > > > Bienvenido por estos lares ... :))
> > > >
> > > > Que los chicos grandes de SQL Server se acerquen por aqui es una
buena
> > > > noticia. :)))
> > > >
> > > > Saludos,
> > > >
> > > > Pablo Roca - Microsoft Visual Foxpro MVP
> > > > Sysop de PortalFox (http://www.portalfox.com)
> > > > La Coruña, España
> > > > "Apoya a FoxPro, utiliza software legal"
> > > >
> > > > "Salvador Ramos" escribió en el mensaje
> > > > news:
> > > > > Hola:
> > > > >
> > > > > Eso no es posible hacerlo. Para solucionar ese caso tienes las
> > funciones
> > > > > definidas por el usuario UDF's.
> > > > >
> > > > > Si que podrías hacer SELECT Campo1, Campo2, dbo.TuFunción(@Par1)
> FROM
> > > ...
> > > > > Para crear estas funciones tienes las instrucción CREATE


FUNCTION.
> > > > >
> > > > > Esta es una de las novedades de SQL Server 2000, en versiones
> > anteriores
> > > > no
> > > > > estaba disponible.
> > > > >
> > > > >
> > > > > Un saludo
> > > > > Salvador Ramos
> > > > > Murcia - España
> > > > >
> > > > > No puedes conseguir software rápidamente disminuyendo su


calidad.
> > > > > En cambio, si que lo consigues aumentando la calidad.
> > > > >
> > > > > www.helpdna.net (información sobre Windows DNA, SQL Server,


.NET,
> ...)
> > > > >
> > > > >
> > > > > Microsoft MVP SQL Server
> > > > > MCP SQL Server
> > > > > PASS Spanish Group (www.sqlpass.org)
> > > > >
> > > > >
> > > > > "Sanchez Arnoletto Martin Rodrigo"
> escribió
> > > en
> > > > el
> > > > > mensaje news:#
> > > > > > Estimado GRupo:
> > > > > >
> > > > > > Tengo un proc. almacenado llamado usp_calcprec al cual el paso
el
> > > codigo
> > > > > de
> > > > > > un articulo y la lista de precios y me devuelve mediante la
> variable
> > > > @prec
> > > > > > el precio de dicho articulo
> > > > > > el tema es que si quiero hacer una lista de precios de
articulos,
> > debo
> > > > > > cargar un cursor con todos los componentes e ir recorriendolo


y
> > > > ejecutando
> > > > > > el proc. almacenado para cada uno y no solo se hace lento sino
> > > > complicado
> > > > > a
> > > > > > la ejecucion.
> > > > > > La pregunta concretamente es:
> > > > > >
> > > > > > ¿existe la posibilidad de incluir un EXEC dentro de un


select???
> > algo
> > > > como
> > > > > >
> > > > > > select idcomponente, detalle,(exec usp_calcprec
> > > > idcomponente,idlista,@prec
> > > > > > output) as precio from componentes
> > > > > >
> > > > > > Este no funciona
> > > > > > Si existe, cual seria la sintaxis correcta???
> > > > > >
> > > > > >
> > > > > > Gracias desde ya
> > > > > >
> > > > > > Saludos desde Menorca
> > > > > >
> > > > > > Ing. Sanchez Arnoletto Martin Rodrigo
> > > > > > messenger:
> > > > > > email:
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida