Liebe Community.
Ich habe eine StoredProcedure, die liefert mir Werte aus der AD über OpenQuery. Da der OpenQuery selbst keine Variablen halten darf, baue ich diesen in einem String auf, und führe ihn als EXEC aus. Die Rechnernamen beziehe ich aus einer Table.
Nun brauche ich jedoch eine Funktion, mit welcher ich diese Daten in eine Table bekomme.
Das Insert mag SQL nicht durchführen.
Der Versuch mit Create TABLE #tmpExecResult hat auch nicht gefruchtet.
Gibt es innerhalb einer fkt die möglichkeit einen String zu executen, und das result an eine Table zu übergeben?
Ich habe eine StoredProcedure, die liefert mir Werte aus der AD über OpenQuery. Da der OpenQuery selbst keine Variablen halten darf, baue ich diesen in einem String auf, und führe ihn als EXEC aus. Die Rechnernamen beziehe ich aus einer Table.
Nun brauche ich jedoch eine Funktion, mit welcher ich diese Daten in eine Table bekomme.
Code:
CREATE FUNCTION getADTime ( @ComputerCN nvarchar(10) ) RETURNS datetime AS BEGIN -- Declare the return variable here DECLARE @tmpExecResult TABLE (LastLogon bigint, Lastlogontimestamp bigint, WhenCreated datetime) DECLARE @R datetime INSERT @tmpExecResult EXEC dbo.sp_GetADInformation @ComputerCN, 'LastLogon,Lastlogontimestamp,Whencreated' SELECT @R = MAX(Logon) FROM ( SELECT dbo._ConvertInt8todatetime(LastLogon) AS Logon FROM @tmpExecResult UNION SELECT dbo._ConvertInt8todatetime(Lastlogontimestamp) AS Logon FROM @tmpExecResult UNION SELECT WhenCreated AS Logon FROM @tmpExecResult ) RETURN @R END GO
Der Versuch mit Create TABLE #tmpExecResult hat auch nicht gefruchtet.
Gibt es innerhalb einer fkt die möglichkeit einen String zu executen, und das result an eine Table zu übergeben?
Comment