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:
Mostrar la cita
FROM
Mostrar la cita
...)
Mostrar la cita
escribió
Mostrar la cita
variable
Mostrar la cita
#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:
Mostrar la cita
dirijan
Mostrar la cita
y
Mostrar la cita
siempre
Mostrar la cita
buena
Mostrar la cita
el
Mostrar la cita
articulos,
Mostrar la cita
#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


Mostrar la cita
tienes las funciones
Mostrar la cita
(@Par1) FROM ...
Mostrar la cita
FUNCTION.
Mostrar la cita
versiones anteriores no
Mostrar la cita
calidad.
Mostrar la cita
Server, .NET, ...)
Mostrar la cita
escribió en el
Mostrar la cita
el paso el codigo
Mostrar la cita
mediante la variable @prec
Mostrar la cita
articulos, debo
Mostrar la cita
recorriendolo y ejecutando
Mostrar la cita
lento sino complicado
Mostrar la cita
select??? algo como
Mostrar la cita
idcomponente,idlista,@prec
Mostrar la cita
#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:%
Mostrar la cita
de
Mostrar la cita
a
Mostrar la cita
#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%
Mostrar la cita
creo
Mostrar la cita
sólo
Mostrar la cita
una
Mostrar la cita
el
Mostrar la cita
un
Mostrar la cita
saber
Mostrar la cita
SPAM
Mostrar la cita
aquí
Mostrar la cita
FUNCTION.
Mostrar la cita
calidad.
Mostrar la cita
.NET,
Mostrar la cita
y
Mostrar la cita
select???
Mostrar la cita
Ads by Google
Search Busqueda sugerida