Frage : Werte von gespeichertem Verfahren in den Variablen speichern

Hallo haben jeder,

I gespeicherte Verfahren, das ein recordset mit mehrfachen Feldern zurückbringt, aber nur eine Reihe. BTW, benutze ich Sql-Bediener 2005.

I möchte dieses SP von einem anderen SP benennen und seinen Ausgang dort wiederverwenden, indem ich ihn in den verschiedenen Variablen speichere. Die einzige Weise, die ich erfolgreich tun kann, der eine temporäre Tabelle mit den gleichen Spalten, die die durch das ursprüngliche SP zurückbrachten, dann Fülle herstellen soll, die temporäre Tabelle mit dem ursprünglichen SP-Ausgang, so:

INSERT IN #mytbl (field1, field2, field3)
EXECT spMyOriginalSP @par1, @par2

Then würde ich jedes der Felder der temporären Tabelle Variablen im neuen SP, so zuweisen:

SELECT
@var1 = field1,
@var2 = Feld,
@var3 = field3
FROM #mytbl

Is dort eine Weise, die Kreation der temporären Tabelle zu überbrücken, und das ursprüngliche SP direkt zu speichern gab in Variablen im neuen SP aus?

Hope war ich in der Lage, sich dort zu rechtfertigen… :-)

Thanks im Voraus für Ihre Hilfe!

Antwort : Werte von gespeichertem Verfahren in den Variablen speichern

dieses betrachten
http://www.sommarskog.se/share_data.html

Auch wenn Sie es eine Funktion anstelle von einem SP bilden können, können Sie eine Tabellenvariable zurückbringen.

@tablename sysname erklären
@colname sysname erklären

Oberseite 1 @tablename = tablename, @colname = ColumnName vorwählen VON dbo.TestTableList ()
@tablename, @colname vorwählen
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
FUNKTION TestTableList VERURSACHEN ( 
) RÜCKKEHR @TABLELIST TABELLE (
  IDENTITÄT IDENTIFIKATION-INT (1, 1),
  TableName SYSNAME,
  ColumnName SYSNAME
) WIE ANFANGEN  
	EINSATZ IN @TABLELIST
	TABLE_NAME, COLUMN_NAME VORWÄHLEN
	VON INFORMATION_SCHEMA.COLUMNS
	
	RÜCKKEHR 
ENDE
Weitere Lösungen  
 
programming4us programming4us