Erstellen von table-variable in SQL server 2008 R2
was ist eine table-variable? Und so erstellen Sie eine Tabelle-variable (virtueller in-memory-Tabelle) mit den Spalten entsprechen, die vorhandene Gespeicherte Prozedur resultset.
Ich ausgeführt, das Verfahren und nachdem Sie es ausgeführt haben, wird die Spalte Namen, die mir bekannt sind. Aber ich habe zu erklären, den gleichen Datentyp der Spalten, wie es war in der gespeicherten Prozedur?
EDIT: ich habe versucht, diese
DECLARE @Table TABLE(
name varchar(30) NOT NULL,
location varchar(30) NOT NULL
);
INSERT @Table
SELECT name, location FROM
Exec SPROC @param , @param
InformationsquelleAutor der Frage Pankaj | 2012-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
@tableName
Table-Variablen lebendig sind für die Dauer der Skript läuft nur, d.h. Sie werden nur session-Objekte.Um dies zu testen, öffnen Sie zwei Abfrage-editor-Fenster unter dem sql server management studio, und erstellen Sie table-Variablen mit gleichen Namen, aber unterschiedliche Strukturen. Sie werden eine Vorstellung bekommen. Die
@tableName
Objekt ist also temporär und für unsere interne Verarbeitung der Daten, und Sie werden nicht dazu beitragen, die tatsächliche Struktur der Datenbank.Es ist eine andere Art von Tisch-Objekt, die erstellt werden können für den temporären Einsatz. Sie sind
#tableName
Objekte erklärt, wie die ähnliche create-Anweisung für die physikalischen Tabellen:Dieser Tabelle-Objekt erstellt und gespeichert in temp-Datenbank. Im Gegensatz zu den ersten, die dieses Objekt ist besonders nützlich, können speichern großer Daten und nimmt an Transaktionen Teil etc. Diese Tabellen sind am Leben, bis die Verbindung geöffnet ist. Sie haben, um die drop erstellte Objekt durch folgende Skript aus, bevor Sie erneut erstellen.
Hoffe, das macht Sinn !
InformationsquelleAutor der Antwort mangeshkt