Dynamic Transact SQL
Boa tarde pessoal, estou precisando colocar na variável @REGIMECASAM, o valor que está no campo REGIMECASAM, da tabela COMPLEMENTO, do banco FIRMAS (Firebird).
O linked Server para o banco FIRMAS, está funcionando perfeitamente, porém a variável @REGIMECASAM, vem vazia, após o EXEC.
Obs, quando executo manualmente o select com o conteúdo de @QUERYTOTAL, não ocorre erros, e o resultado do SELECT está correto, e traz o valor 3, como conteúdo do campo REGIMECASAM.
DECLARE @REGIMECASAM INT
DECLARE @OPENQUERY nvarchar(1000), @TSQL nvarchar(1000), @LinkedServer nvarchar(1000)SET @LinkedServer = '[FIRMAS]'
SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY('+ @LinkedServer + ','''
SET @TSQL = 'SELECT REGIMECASAM FROM COMPLEMENTO WHERE LINK = ' + CAST(@CodigoID AS VARCHAR(6)) + ''')'
SET @QUERYTOTAL = @OPENQUERY+@TSQL
EXEC sp_executesql @QUERYTOTAL, N'@REGIMECASAM INT out', @REGIMECASAM OUT
SELECT @REGIMECASAM As Outputs
Algém consegue me ajudar ?
O linked Server para o banco FIRMAS, está funcionando perfeitamente, porém a variável @REGIMECASAM, vem vazia, após o EXEC.
Obs, quando executo manualmente o select com o conteúdo de @QUERYTOTAL, não ocorre erros, e o resultado do SELECT está correto, e traz o valor 3, como conteúdo do campo REGIMECASAM.
DECLARE @REGIMECASAM INT
DECLARE @OPENQUERY nvarchar(1000), @TSQL nvarchar(1000), @LinkedServer nvarchar(1000)SET @LinkedServer = '[FIRMAS]'
SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY('+ @LinkedServer + ','''
SET @TSQL = 'SELECT REGIMECASAM FROM COMPLEMENTO WHERE LINK = ' + CAST(@CodigoID AS VARCHAR(6)) + ''')'
SET @QUERYTOTAL = @OPENQUERY+@TSQL
EXEC sp_executesql @QUERYTOTAL, N'@REGIMECASAM INT out', @REGIMECASAM OUT
SELECT @REGIMECASAM As Outputs
Algém consegue me ajudar ?
Paulo Miranda
Curtidas 0
Respostas
Paulo Miranda
30/07/2017
Resolvido !
mudei a linha: SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY('+ @LinkedServer + ','''
para:SET @OPENQUERY = 'SELECT @REGIMECASAM= REGIMECASAM FROM OPENQUERY('+ @LinkedServer + ','''
mudei a linha: SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY('+ @LinkedServer + ','''
para:SET @OPENQUERY = 'SELECT @REGIMECASAM= REGIMECASAM FROM OPENQUERY('+ @LinkedServer + ','''
GOSTEI 0