Maison > base de données > tutoriel mysql > Comment insérer les résultats de la procédure stockée dans une table temporaire sans définir sa structure?

Comment insérer les résultats de la procédure stockée dans une table temporaire sans définir sa structure?

Patricia Arquette
Libérer: 2025-01-25 02:32:13
original
360 Les gens l'ont consulté

How to Insert Stored Procedure Results into a Temporary Table Without Defining its Structure?

L'insertion de la procédure stockée se traduit dans une table temporaire sans structure prédéfinie

Problème: Comment pouvez-vous remplir une table temporaire avec les résultats d'une procédure stockée sans définir explicitement le schéma de table au préalable?

Solution: Tirez parti de la fonction OPENROWSET. Cette fonction exécute une requête distante et insère directement les résultats dans une table temporaire, en déduisant dynamiquement la structure du tableau à partir de la sortie de la requête.

Voici un exemple:

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

-- Enable Ad Hoc Distributed Queries (required for OPENROWSET)
sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

-- Insert results into temporary table using OPENROWSET
SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
     'EXEC getBusinessLineHistory')

-- Verify the data
SELECT * FROM #MyTempTable</code>
Copier après la connexion

Ce code définit d'abord un exemple de procédure stockée (getBusinessLineHistory). Surtout, il permet ensuite aux "requêtes distribuées ad hoc" en utilisant sp_configure. Ceci est une condition préalable à l'utilisation OPENROWSET.

OPENROWSET exécute la procédure stockée à distance et les données renvoyées sont automatiquement insérées dans #MyTempTable. La structure de la table temporaire est créée dynamiquement en fonction des types de données renvoyés par la procédure stockée. Enfin, une instruction SELECT confirme l'insertion réussie des données. Cette approche évite la nécessité de définir manuellement le schéma de la table temporaire.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal