Maison >base de données >tutoriel mysql >Comment puis-je insérer efficacement les résultats de la procédure stockée dans une table temporaire?

Comment puis-je insérer efficacement les résultats de la procédure stockée dans une table temporaire?

Barbara Streisand
Barbara Streisandoriginal
2025-01-25 02:41:10910parcourir

How Can I Efficiently Insert Stored Procedure Results into a Temporary Table?

Exploiter les procédures stockées pour remplir des tables temporaires

Ce guide présente une méthode simplifiée pour remplir une table temporaire avec la sortie d'une procédure stockée à l'aide de la fonction OPENROWSET. Cette approche élimine le besoin de définition manuelle des colonnes dans votre table temporaire.

Voici une procédure pas à pas :

  1. Activation des requêtes distribuées ad hoc : Avant d'utiliser OPENROWSET, vous devez activer les requêtes distribuées ad hoc. Exécutez ces commandes SQL :

    <code class="language-sql"> sp_configure 'Show Advanced Options', 1;
     GO
     RECONFIGURE;
     GO
     sp_configure 'Ad Hoc Distributed Queries', 1;
     GO
     RECONFIGURE;
     GO</code>
  2. Création de la procédure stockée : Créez la procédure stockée (getBusinessLineHistory dans cet exemple) :

    <code class="language-sql"> CREATE PROC getBusinessLineHistory
     AS
     BEGIN
         SELECT * FROM sys.databases;
     END;
     GO</code>
  3. Insertion de données via OPENROWSET : Utilisez OPENROWSET pour insérer les résultats de la procédure stockée dans une table temporaire (#MyTempTable) :

    <code class="language-sql"> SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
          'EXEC getBusinessLineHistory');</code>
  4. Récupération des données : Accédez aux données dans la table temporaire à l'aide d'une instruction SELECT standard :

    <code class="language-sql"> SELECT * FROM #MyTempTable;</code>

Cette OPENROWSET méthode offre une solution propre et efficace pour intégrer les résultats de procédures stockées dans des tables temporaires, simplifiant le processus et améliorant la flexibilité. Notez que les détails du serveur et de la connexion dans la commande OPENROWSET doivent être ajustés pour correspondre à votre environnement spécifique.

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