Einfügen des gespeicherten Prozedurergebnisses in eine temporäre Tabelle in SQL
SQLs INTO
-Klausel fügt Tabellendaten leicht in temporäre Tabellen ein. Das direkte Einfügen von Ergebnissen aus einem gespeicherten Verfahren unter Verwendung von EXEC
führt jedoch häufig zu Syntaxfehlern. Die Lösung? Verwenden Sie die OPENROWSET
-Funktion.
Hier erfahren Sie, wie Sie dies erreichen:
<code class="language-sql">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 SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;', 'EXEC getBusinessLineHistory'); SELECT * FROM #MyTempTable;</code>
OPENROWSET
bietet eine Problemumgehung, die den Zugriff auf gespeicherte Prozedurdaten ermöglicht, ohne die Spalten der temporären Tabelle explizit zu definieren. Dies vereinfacht das Speichern und anschließende Verarbeitung oder Analyse gespeicherter Verfahrensausgabe. Beachten Sie, dass das Aktivieren von "ad hoc verteilten Abfragen" eine Voraussetzung für diese Methode ist, um korrekt zu funktionieren.
Das obige ist der detaillierte Inhalt vonWie fügt ich gespeicherte Verfahrensergebnisse in eine temporäre Tabelle in SQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!