Maison >base de données >tutoriel mysql >Comment insérer les résultats d'une procédure stockée dans une table temporaire à l'aide d'OPENROWSET ?

Comment insérer les résultats d'une procédure stockée dans une table temporaire à l'aide d'OPENROWSET ?

DDD
DDDoriginal
2025-01-25 02:46:09288parcourir

How to Insert Stored Procedure Results into a Temporary Table Using OPENROWSET?

Utilisez OPENROWSET pour insérer les résultats d'une procédure stockée dans une table temporaire

L'utilisation directe de l'instruction SELECT * INTO pour insérer les résultats d'une procédure stockée dans une table temporaire peut échouer en raison d'erreurs de syntaxe. La solution est d'utiliser la méthode OPENROWSET.

Tout d'abord, vous devez activer les requêtes distribuées ad hoc :

<code class="language-sql">sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO</code>

Lorsqu'il est activé, le code suivant peut être utilisé pour insérer les résultats de la procédure stockée dans une table temporaire sans prédéfinir la structure de la table :

<code class="language-sql">CREATE PROC getBusinessLineHistory
AS
BEGIN
    SELECT * FROM sys.databases
END
GO

SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
     'EXEC getBusinessLineHistory')

SELECT * FROM #MyTempTable</code>

Dans cet exemple, la procédure stockée getBusinessLineHistory renvoie les données de la table sys.databases. Grâce à OPENROWSET, les résultats de la procédure stockée peuvent être efficacement insérés dans la table temporaire #MyTempTable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn