Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich dynamisch Tabellen in gespeicherten T-SQL-Prozeduren?

Wie erstelle ich dynamisch Tabellen in gespeicherten T-SQL-Prozeduren?

Mary-Kate Olsen
Freigeben: 2024-12-28 15:17:11
Original
497 Leute haben es durchsucht

How to Dynamically Create Tables in T-SQL Stored Procedures?

So erstellen Sie Tabellen dynamisch in gespeicherten Prozeduren in T-SQL

Erstellen einer Tabellenvariablen als temporäre Tabelle, wie im bereitgestellten Beispiel gezeigt Beispiel, ist falsch. Um eine temporäre Tabelle zu erstellen, verwenden Sie die folgende Syntax:

CREATE TABLE #customer
(
     Name varchar(32) not null
)
Nach dem Login kopieren

Um eine Tabellenvariable zu deklarieren, verwenden Sie diese Syntax:

DECLARE @Customer TABLE
(
      Name varchar(32) not null
)
Nach dem Login kopieren

Dynamic SQL bietet eine alternative Methode zum Erstellen gespeicherter Tabellen Verfahren. Sie können eine SQL-Anweisung als Zeichenfolge erstellen und ausführen:

CREATE PROCEDURE sproc_BuildTable 
    @TableName NVARCHAR(128)
   ,@Column1Name NVARCHAR(32)
   ,@Column1DataType NVARCHAR(32)
   ,@Column1Nullable NVARCHAR(32)
AS

   DECLARE @SQLString NVARCHAR(MAX)
   SET @SQString = 'CREATE TABLE '+@TableName + '( '+@Column1Name+' '+@Column1DataType +' '+@Column1Nullable +') ON PRIMARY '

   EXEC (@SQLString)
   GO
Nach dem Login kopieren

Diese gespeicherte Prozedur kann wie folgt ausgeführt werden:

sproc_BuildTable 'Customers','CustomerName','VARCHAR(32)','NOT NULL'
Nach dem Login kopieren

Das dynamische Erstellen von Tabellen in gespeicherten Prozeduren ist jedoch im Allgemeinen möglich davon wird abgeraten, weil:

  • Komplexität: Der Umgang mit komplexen Tabellenstrukturen kann sein herausfordernd.
  • Skalierbarkeit: Alle Tabellen landen in der primären Dateigruppe, was möglicherweise zu E/A-Konflikten führt.
  • Planung: Strategische Platzierung von Tabellen in Dateigruppen sind für eine bessere Leistung von entscheidender Bedeutung.

Wenn Sie möchten, dass Tabellen dynamisch erstellt werden, sollten Sie andere Lösungen in Betracht ziehen, z B. die Zuordnung von Geschäften zu vorhandenen Produkttabellen mit definierten Preisen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamisch Tabellen in gespeicherten T-SQL-Prozeduren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage