FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour consulta con mssql
Posts: 105
Joined: Thu Oct 20, 2005 12:29 PM
consulta con mssql
Posted: Thu Nov 10, 2011 03:35 AM
tengo un stored procedure en dicho stored procedure hago un join entre varias tablas que estan en 2 bases de datos distintas en el mismo servidor, ahora necesito poder hacer que esas 2 bases de datos sean variable por ejemplo.

tengo 4 bases de datos que se llaman data_a, data_b, data_c, data_d.
cada una de ellas tienen 3 tablas tabla_1, tabla_2, tabla_3

la primera consulta seria
Code (fw): Select all Collapse
select a.codigo, b.nombre from data_a.tabla_1 as a left join data_b.tabla_1 as b on a.codigo = b.codigo


ahora necesito guardar esa consulta en stored procedure y debo pasarle el nombre de las 2 bases de datos.

por ejemplo:
Code (fw): Select all Collapse
CREATE procedure [dbo].[comparar] @cdata1 varchar( 50 ), @cdata2 varchar( 50 )
as
select a.codigo, b.nombre from [@cdata1].tabla_1 as a left join [cdata2].tabla_1 as b on a.codigo = b.codigo


alguien sabe como puedo hacer esto, la idea es crear el stored procedure en una sola base de datos y llamarlo y usarlo para cualquier otra, mostre un ejemplo muy sencillo, mi aplicacion tiene mas de 100 y necesito crear otra base de datos y modificar todos los SP me da dolor de cabeza. :-)
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: consulta con mssql
Posted: Thu Nov 10, 2011 05:04 AM
Hola

aqui tienes un ejemplo sencillo

Code (mysql): Select all Collapse
<div class="mysql" id="{CB}" style="font-family: monospace;">
BEGIN
  SET @s=REPLACE( 'SELECT * FROM [table1]', '[table1]', in_char );
  PREPARE stmt FROM @s;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END
 </div>


in_char es el parametro de entrada

Continue the discussion