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

#11 Pablo Roca
08/09/2003 - 18:49 | Informe spam
No te puedo decir el motivo exacto porque no lo sé ... pero creo que puede
ser alguno de estos. Ojo no quiero polemizar ahi ... solo es puramente
informativo.

- que parece que entras como a todo tren, preguntando el mas sitios del
lugar debido.

- que puede que ya te lo hayan contestado en uno de los grupos y se mantiene
una discusion dificilmente seguible (unos dan reply haciendo el crosspost y
otros no).. Conclusión ... mas respuestas en un news, que en otro.

- imaginate que si por ejemplo alguien lee los dos grupos de noticias (como
es mi caso), y te lo respondo en uno solo .. pues tendré que andar revisando
los dos grupos para respuestas parciales (sin crosspost)

No se ... quizas puedan ser estos .. o algun motivo mas. De todos modos a mi
si es una pregunta tecnica no me molesta.

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"

"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
#12 Salvador Ramos
09/09/2003 - 10:35 | Informe spam
jeje, Pablo, me alegro que te pases por los grupos de SQL Server, a ver si a
parte de leerlos mandas algun mensajillo por allí, que será un placer leerte
;-)

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:#
Mostrar la cita
mantiene
Mostrar la cita
y
Mostrar la cita
(como
Mostrar la cita
revisando
Mostrar la cita
mi
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
#13 Salvador Ramos
09/09/2003 - 10:49 | Informe spam
jeje, igualmente José Luís.

La verdad que el foxpro siempre me ha llamado la atención, me parece una
herramienta muy apropiada para el desarrollo de aplicaciones. Además hace
bastantes años (joer que viejo me estoy haciendo) desarrollé muchas
aplicaciones con Clipper, y hubo un momento en que ésta desapareció y tuve
que elegir una nueva herramienta para mis desarrollos (las opciones fueron
delphi, foxpro y visual basic), finalmente elegí VB y SQL Server ;-)

La pena es que no disponga de tiempo para echarle un vistazo y hacer algun
desarrollo con foxpro, ya me gustaría hacerlo y pasarme por el grupo, jejeje

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)


"José Luis" escribió en el mensaje
news:40ae01c3761a$32e79190$
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
#14 Miguel Egea
09/09/2003 - 11:34 | Informe spam
Entre Jose Luís y Pablo acabarán convenciendote jeje

Saludos Cordiales
=Proxima reunión virtual sobre rendimiento.
Messenger:
Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.

¡Cuida el rendimiento! Evita los cursores
Brigada Anti-Cursores
==

"Salvador Ramos" escribió en el mensaje
news:#
Mostrar la cita
jejeje
Mostrar la cita
#15 Sanchez Arnoletto Martin Rodrigo
09/09/2003 - 12:41 | Informe spam
Volviendo a lo estrictamente tecnico, la version del servidor SQL que poseo
es la 97, Existe alguna posibilidad de hacer un calculo mediante un
procedimiento DENTRO de la instruccion SQL digo medieante un procedimiento
porque lo que tengo que hacer es lo siguiente

Un artículo es un descompuesto de varios componentes cada uno de los cuales
pueden ser tambien descompuestos de otros. Así por ejemplo:

1 metro de pared seca (codigo D0001.0001) esta formado por:
Cantidad Codigo Descripcion Unitario Total
0,5 B0001.0050 tonelada de piedra 34? 17?
0,5 A0003.0010 mortero cal 200? 100?
0,33 B0001.0010 m3 agua 10?
3,30?


120.30?

0,03 %0000.0030 medios auxiliares 0.03% 3.61?


123.91?

y a la vez un mortero de cal de 200? esta formado por ejemplo:
Cantidad Codigo Descripcion Unitario Total
1,0 B0002.0050 tonelada de cal 170? 170?
2,417 B0001.0010 m3 agua 10?
24.17?


194.17?

0,03 %0000.0030 medios auxiliares 0.03% 5.82 ?


200?
Yo lo he organizado en 2 tablas:
articulos, armado con las siguientes estructuras:
ARTICULOS
CODIGO DESCRIPCION PRECIO
%0000.0030 Medios Aux. al 3%
B0001.0050 tonelada de piedra 34? LOS COMPONENTES
TIPO B son BASICOS POR LO QUE TIENEN
B0001.0010 agua 10? EL PRECIO
DE BASE. A PARTIR DE ESTOS PRECIOS Y LA TABLA
B0002.0050 tonelada de cal 170? DE ARMADO(CAMPO
CANTIDAD) DEBO ARMAR LOS PRECIOS DE
A0003.0010 mortero cal LOS
ARTICULOS A y D que son AUXILIARES Y DESCOMPUESTOS
D0001.0001 pared seca


ARMADO
CODIGO COD_RELACIONADO CANTIDAD
D0001.0001 B0001.0050 0,5
D0001.0001 A0003.0010 0,5
D0001.0001 B0001.0010 0,33
D0001.0001 %0000.0030 0,03

A0003.0010 B0002.0050 1
A0003.0010 B0001.0010 2.417
A0003.0010 %0000.0030 0,03


y debo calcular en una sola intruccion SQL a partir de los componentes
basicos el precio del componente D0001.0001 ( y por ende el de A0003.0010,
recordando que los medios auxiliares siempre son el CANTIDAD % de la
sumatoria de los totales de los componentes que constituyen el ARMADO del
componente base, como se ejemplifica en la primera fase.

Bueno Muchisimas gracias por su ayuda

Ing. Sanchez Arnoletto Martin Rodrigo
messenger:
email:
Ads by Google
Search Busqueda sugerida