Exécution d'une procédure stockée pour insert des loggings dans une table – SQL Server 2000

Je travaille dans SQL Server 2000. La requête suivante ne fonctionne pas

declare @TempAccountKey Table (AccKey int,SitName varchar(1000),SitKey int) insert into @TempAccountKey(AccKey,AccName) exec [usp_Get_AccountForUser] @UserName 

Il lance l'erreur

EXECUTE ne peut pas être utilisé comme source lors de l'insertion dans une variable de table.

Des idées?

#1


Le server lié est correctement configuré. Si j'exécute la requête suivante

 exec [ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser] 

il affiche l'erreur 'Impossible de find la procédure stockée'.

Des idées?

NLV

Utilisez plutôt une table temporaire

 CREATE TABLE #TempSiteKey (AccKey int,SitName varchar(1000),SitKey int) insert into #TempSiteKey (AccKey,AccName) exec [usp_Get_AccountForUser] @UserName DROP TABLE #TempSiteKey 

Et la raison pour laquelle vous ne pouvez pas appeler la procédure est que vous l'avez délimitée de manière incorrecte

 exec [ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser] 

En fait, exécute la procédure appelée 'ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser'.

Ce que vous voulez est:

 exec [ABC-SQL-PROD].[DBabc].[dbo].[usp_Get_ABCForUser]