ejecutar procedimiento almacenado

03/06/2008 - 23:13 por Luis Mata | Informe spam
Hay alguna otra forma de poder hacer esto,

el procedure recibe como parametro el nombre de la base de datos @nombd
declare @ejecuta varchar(100)
set @ejecuta = 'select * from '+@nombd+'.dbo.ventas'
exec (@ejecuta)

algo mas corto ya que ahi no se ve muchos problemas pero cuando son mas
variables y condiciones se pone un poco pesado.


Att
Luis Mata Figueroa
Área Informática
Centro Cerámico Las Flores SAC
RPC: 993597297
TEL: 6174613

Preguntas similare

Leer las respuestas

#6 Luis Mata
05/06/2008 - 17:51 | Informe spam
tienes toda la razon, pero la empresa que usa el sistema, tiene como meta
abrir 3 sucursales por año y eso tambien tengo que tomar en cuante, voy
probar las vistas y ver como me va


Att
Luis Mata Figueroa
Área Informática
Centro Cerámico Las Flores SAC
RPC: 993597297
TEL: 6174613


"Leonardo Azpurua" <l e o n a r d o [arroba] m v p s [punto] o r g> escribió
en el mensaje news:

"Luis Mata" escribió en el mensaje
news:uPj%
Gracias
Creo que el problema principal es que mis sistema trabaja con VPN con
sedes remotas ubicadas en distintos distritos. algunos con 512 kbps otros
de 256 kbps.
se realizan trnsacciones en linea, pero cuando se quiere hacer un
analisis de ventas para poder hacer compras segun lo vendido se hace en
un rango de 7 meses antes y para poder tener mas clara la cosa y no estar
consbrestock generar se reuqiere que tener el promedio de ventas de todas
las tiendas (8) cada uno son su stock.
con vistas te imaginas que cada Adm de tienda tenga que llevar los datos
de los 7 meses por cada tienda y consolidarlo localmente se come todo el
ancho de banda, aqui el caso es que el servidor lo mastique y les envie
solo los resultados.
y al ser 8 sedes quiero hacer todo ese codigo en una bd maestro osea con
create #tabla ... asi centralizaria mi codigo
claro si fuere posible lo que no quiero es tener procedures que me
redunden en las bds



Hola.

¿Las ocho sucursales trabajan sobre 8 BBDD diferentes en un servidor
central?

Con limitaciones de ancho de banda, tiene sentido colocar todas las
operaciones de consolidación y filtrado del lado del servidor. Y las
vistas pueden ayudarte a eso.

Una vista puede ser algo como:

CREATE VIEW DetallesVentasConsolidados AS
SELECT 'SUC1' As Sucursal, * FROM bd1.dbo.DetallesVenta
UNION SELECT 'SUC2', * FROM bd2.dbo.DetallesVenta
...
UNION SELECT 'SUCn´, * FROM bdn.dbo.DetallesVenta

y eso te permitiría escribir en tu SP algo como

SELECT Sucursal, Item, Sum(Cantidad)
FROM DetallesVentasConsolidados
WHERE ...
GROUP BY Sucursal,

eliminando la necesidad de acceder explícitamente a las diferentes BBDD
desde el SP (lo que no sé es que tal sea ese método en términos de
rendimiento en comparación con otros).

Las vistas y cualquier otro recurso que necesites para la consolidación de
información bien pueden residir en la BBDD que almacena los datos de la
sede principal, o bien en una BBDD de consolidación, independiente de
cualquier sucursal. Los procesos, en cualquier caso, se ejecutarán todos
del lado del servidor.

Ahora tengo alguna información adicional acerca de tu problema (las
limitaciones de ancho de banda), pero eso no es suficiente para salir del
nivel de las generalidades.


Salud!


Respuesta Responder a este mensaje
#7 Leonardo Azpurua
05/06/2008 - 18:59 | Informe spam
"Luis Mata" escribió en el mensaje
news:
tienes toda la razon, pero la empresa que usa el sistema, tiene como meta
abrir 3 sucursales por año y eso tambien tengo que tomar en cuante, voy
probar las vistas y ver como me va



Creo que puedes usar las vistas para consolidar (y posiblemente agrupar)
toda la información requerida en un sólo objeto (que equivale
sintácticamente a una tabla). A partir de ahí, el resto debe ser tan simple
como si todo estuviera en un sólo lugar en la misma BD que contiene las
vistas y los SPs.

Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida