INSERT INTO @TABLE EXEC @requêtes avec SQL Server 2000

Est-il vrai que SQL Server 2000, vous ne pouvez pas insérer dans une table de variables en utilisant exec?

J'ai essayé ce script et a obtenu un message d'erreur EXECUTE cannot be used as a source when inserting into a table variable.

declare @tmp TABLE (code varchar(50), mount money)
DECLARE @q nvarchar(4000)
SET @q = 'SELECT coa_code, amount FROM T_Ledger_detail'

INSERT INTO  @tmp (code, mount)
EXEC sp_executesql (@q)

SELECT * from @tmp

Si vrai, que dois-je faire?

  • Si c'est vrai, vous devriez CREATE TEMP TABLE (je suis sûr que vous pouvez insérer dans une table temporaire de EXEC).
  • "Est-il vrai?" - oui - "Toutefois, le tableau ne peut pas être utilisé dans les déclarations suivantes: INSERT INTO table_variable EXEC stored_procedure"
  • Ok, je l'ai eu, c'est comme @Anton Kovalenko dit, j'ai besoin de créer une table temporaire , pas une variable de Table ... Thx. 🙂
InformationsquelleAutor XMozart | 2013-01-31