Gibt es eine Möglichkeit, eine temporäre Tabelle zu definieren, ohne das Schema im Voraus zu definieren?TSQL Temp-Tabelle (oder Tabellenvariable) definieren, ohne Schema zu definieren?
Antwort
Eigentlich eine Tabelle Variable verwendet wird, eine In-Memory-Tabelle, ist der optimale Weg zu gehen. Die # Tabelle erstellt eine Tabelle in temp db, und ## Tabelle ist global - beide mit Datenträgertreffern. Berücksichtigen Sie die Verlangsamung/Treffer bei der Anzahl der Transaktionen.
CREATE PROCEDURE [dbo].[GetAccounts]
@AccountID BIGINT,
@Result INT OUT,
@ErrorMessage VARCHAR(255) OUT
AS
BEGIN
SET NOCOUNT ON;
SET @Result = 0
SET @ErrorMessage = ''
DECLARE @tmp_Accounts TABLE (
AccountId BIGINT,
AccountName VARCHAR(50),
...
)
INSERT INTO @tmp_Accounts ([AccountId], [AccountName]...
)
SELECT AccountID, AccountName
FROM Accounts
WHERE ...
IF @@Rowcount = 0
BEGIN
SET @ErrorMessage = 'No accounts found.'
SET @Result = 0
RETURN @Result
END
ELSE
BEGIN
SET @Result = 1
SELECT *
FROM @tmp_Accounts
END
Beachten Sie, wie Sie in diese temporäre Tabelle einfügen.
Die Kehrseite davon ist, dass es ein bisschen länger schreiben nehmen können, wie Sie Ihre Tabellenvariable definieren.
Ich würde auch SQL-Eingabeaufforderung für Query Analyzer von RedGate empfehlen.
Sie nicht brauchen OPENQUERY. put „INTO #AnyTableName“ Gerade zwischen der Auswahlliste und der FROM einer Abfrage ...
SELECT *
INTO #Temp1
FROM table1
WHERE x=y
oder Select * in # Temp1 von table1 wo 0 = 1 – GernBlandston
Vergessen Sie nicht, einen 'drop table # Temp1' am Ende der Prozedur zu tun, wenn Sie – Matthieu
- 1. Schema definieren/Lambda-Kurzschreibweise
- 2. Schema Scoping (definieren und lassen)
- 3. Dynamische SQL mit Tabellenvariable -TSQL
- 4. Beziehung ohne Fremdschlüssel definieren
- 5. Sollte ich Schema.Types.ObjectId oder Schema.ObjectId Wenn ein Mungo-Schema definieren
- 6. Neues Schema für Spark-Zeilen definieren
- 7. Definieren eines Wörterbuchmitgliedschaftsvergleichs ohne IN zu überladen?
- 8. Definieren von Schema in JsonLoader in PIG
- 9. Warum ist es bevorzugt, in Schema zu definieren?
- 10. Versuchen, Variable netCDF zu definieren
- 11. Trennzeichen definieren
- 12. NSMutableString definieren?
- 13. Versuch, ein select_tag zu definieren
- 14. PHP-Funktion definieren und ohne verwenden()
- 15. Javascript-Objekt erstellen, ohne die Schlüssel explizit zu definieren? Ich
- 16. Definieren eines Alias für das XML-Element im XSD-Schema
- 17. definieren Getter ohne Setter ecma6 - reagieren
- 18. Wie benutze ich document.createElement(), ohne eine Variable zu definieren
- 19. Strukturen initialisieren, ohne Elemente der Struktur zu definieren - C
- 20. Img-Tag ohne Höhe und Breite definieren
- 21. Datenzugriffsschicht definieren
- 22. Konstanten in Django definieren
- 23. Deklarieren Sie eine Struktur in C, ohne sie zu definieren
- 24. Verwenden von TRichEdit zur Laufzeit ohne ein Elternteil zu definieren
- 25. So lesen Sie vorhandene Textdateien, ohne den Pfad zu definieren
- 26. Wie abzufragen, ohne den ursprünglichen Namen der Tabelle zu definieren?
- 27. Definieren Sie den Standardkonstruktor mit StructureMap, ohne Argumente zu liefern oder das DefaultConstructor-Attribut zu verwenden
- 28. MYSQL: Wie definieren oder LONG String-Variablen
- 29. enum oder definieren, welchen soll ich verwenden?
- 30. Wie definieren Sie eine Konstante in PLT-Schema?
jedoch diese Methode verwenden, muss die Tabelle Variable eher bei der Kompilierung definiert werden als Laufzeit richtig? Dazu benötigte ich eine dynamisch generierte Tabelle. – Jeff
Die Tabelle Variable wird in der sproc definiert, die ich weiter unten schreiben würde ... – ElHaix
Ugh, aber das ist so ausführlich, zumal TSQL keine „Insert-oder-update“ hat Anweisung ... –