[ Mare_TS @ 18.06.2012. 14:33 ] @
Bio bih zahvalan ako bi neko mogao da mi pomogne :) Treba da prosledim vrednost kolone jedne tabele u OPENQUERY() koji poziva funkciju (Test_CurrencyConversion_Mare) na linked serveru i prosledjuje joj parametre. Priv parametar je vrednost iz kolone u tabeli (credit/debit), a ostali su iz promenljivih.

Umesto 1000 treba da stoji vrednost iz Debit kolone a umesto 3000 vrednost iz Credit kolone.
Kada je taj prvi parametar zakucan na fiksnu vrednost, kao u donjem kodu, EXEC() lepo vraća vrednost, ali ako pokušam da stavim Debit ili Credit kao oznaku kolone, tj da pokaže, da treba da uzme vrednost iz kolone onda se query ne izvrši.

Evo snippeta koda:
Code:
DECLARE promenljivih (koje nisu ni bitne za problem ...)

EXEC('SELECT TOP 10 BookingDate ,
        ...
        OrganizationUnitName ,
        CurrencyCode ,
        Currency ,
        Debit ,
        Credit ,
        TechnicalName,
        (SELECT * FROM OpenQuery(EXPSRV1,''select dbo.Test_CurrencyConversion_Mare(1000, '''''+@SourceCurrency+''''','''''+@TargetCurrency+''''','+@CurrencyConversionSpecifficationId+',  '''''+@ExchangeRateListDate+''''')'')) DebitCoverted,
        (SELECT * FROM OpenQuery(EXPSRV1,''select dbo.Test_CurrencyConversion_Mare(3000, '''''+@SourceCurrency+''''','''''+@TargetCurrency+''''','+@CurrencyConversionSpecifficationId+',  '''''+@ExchangeRateListDate+''''')'')) CreditCoverted
FROM blabla
WHERE BookingDate >=  Convert(datetime,'''+@BookingDate+''')'+@thirdparameter)


Kod je malo konfuzan, iako sam se ja trudio da izbacim nepotrebne stvari. :)
Inače Test_CurrencyConversion_Mare je skalarna funkcija koja vraća DECIMAL.