Hola amigos, tengo un procedimiento almacenado de la siguiente forma, en este hago referencia a una base de datos dentro de mi servidor sql, y funciona de maravilla.
Mi pregunta es la siguiente como puedo hacer para que este me mande a llamar la base de datos en otro servidor, pero ejecutando claro el procedimiento desde el mio..
Ayuda por favor..
CREATE PROCEDURE dbo.TRANSFERENCIAX(@Cantidad float,@bodega int,@nutran int,@cdtran nvarchar(2),@fctran as datetime,@cip int,@TR nvarchar(2),@TF nvarchar(2),@user nvarchar(50),@NumE int,@REFE nvarchar(100),@bodegalocal int,@COSTO FLOAT) AS
--SALIDA DE BODEGA REMOTA
IF EXISTS ( SELECT * from dbo.Tran2aCabeceraInventario where (nu_trans=@nutran) AND cd_trans=@TR and fc_trans=@fctran and cd_bodega=@bodega)
BEGIN
PRINT 'LA TRANSACION YA EXISTE EN LA BODEGA REMOTA'
END
ELSE
BEGIN
INSERT INTO dbo.Tran2aCabeceraInventario( cd_trans,nu_trans,fc_trans,nu_trans_rf,cd_trans_rf ,Refer,Cd_Bodega,CD_BODEGA2,[User]) values (@TR,@nutran,@fctran,@NumE,@TF,@REFE,@bodega,@bode galocal,@user)
INSERT INTO dbo.Tran2bDetalleInventario(cd_trans,nu_trans,fc_t rans,cd_cip,cantidad,Valor,Línea,Cd_Bodega) VALUES(@TR,@nutran,@fctran,@cip,@Cantidad,@Cantida d*@COSTO,1,@bodega)
--ACTUALIZANDO EXISTENCIA REMOTA
IF EXISTS(SELECT * FROM dbo.RelacionCipBodega WHERE cip=@cip and cd_bodega=@bodega)
BEGIN
UPDATE dbo.RelacionCipBodega SET Existencia=Existencia-@Cantidad
END
ELSE
BEGIN
DECLARE @NEXIST FLOAT
SET @NEXIST= (SELECT Existencia FROM dbo.RelacionCipBodega WHERE cip=@cip and cd_bodega=@bodega) - @Cantidad
INSERT INTO dbo.RelacionCipBodega( CIP,Cd_Bodega,Existencia) VALUES (@cip,@bodega,@NEXIST)
END
END
--ENTRADA DE EXISTENCIA REMOTA
IF EXISTS ( SELECT * from dbo.Tran2aCabeceraInventario WHERE nu_trans=@nutran and cd_trans=@TF and fc_trans=@fctran and cd_bodega=@bodegalocal )
BEGIN
PRINT 'LA TRANSACION CABECERA YA EXISTE EN LA BASE DE DATOS LOCAL'
END
ELSE
BEGIN
INSERT INTO dbo.Tran2aCabeceraInventario(cd_trans,nu_trans,fc_ trans,[User],nu_trans_rf,cd_trans_rf,Refer,Cd_Bodega,CD_BODEGA 2) VALUES (@TF,@NumE,@fctran,@user,@nutran,@TR,"Tranferencia Automatica",@bodegalocal,@bodega)
END
IF EXISTS ( SELECT * from dbo.Tran2bDetalleInventario WHERE nu_trans=@nutran and cd_trans=@TF and fc_trans=@fctran and cd_bodega=@bodegalocal)
BEGIN
PRINT 'LA TRANSACION DETALLE YA EXISTE EN LA BASE DE DATOS LOCAL'
END
ELSE
BEGIN
INSERT INTO dbo.Tran2bDetalleInventario(cd_trans,nu_trans,fc_t rans,cd_cip,cantidad,Valor,[Línea],Cd_Bodega) VALUES (@TF,@NumE,@fctran,@cip,@Cantidad,@Cantidad*@COSTO ,1,@bodegalocal)
--ACTUALIZANDO EXISTENCIA LOCAL
IF EXISTS ( SELECT * from dbo.RelacionCipBodega where cip=@cip and cd_bodega=@bodega)
BEGIN
UPDATE dbo.RelacionCipBodega SET Existencia=Existencia+@Cantidad
END
ELSE
BEGIN
DECLARE @NEXISTL FLOAT
SET @NEXISTL= (SELECT Existencia FROM dbo.RelacionCipBodega WHERE cip=@cip and cd_bodega=@bodega) + @Cantidad
INSERT INTO dbo.RelacionCipBodega( CIP,Cd_Bodega,Existencia) VALUES (@cip,@bodegalocal,@NEXISTL)
END
END
GO