Feedback

C# - T-SQL-Stored-Proc Generieren

Veröffentlicht von am 28.04.2009
(2 Bewertungen)
Oftmals möchte man für eine Datenbank T-SQL Skripte generieren. Visual Studio hat dazu einen guten Mechanisums: Der eingebaute unterstützung für die CodeGenerierungssprache T4 (.tt Dateien).

Das Snippet für T4 generiert SQL Statements aus einer Datenbank.

Zusätzlich kann es hilfreuch sein einen Visuellen Editor wie <a target="_blank" href="http://t4-editor.tangible-engineering.com">t4-editor.tangible-engineering.com</a> zu verwenden.

t4-editor.tangible-engineering.com
GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

<#@ template inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation" language="C#v3.5" debug="true" hostSpecific="true" #>
<#@ output extension="sql" #>
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo"#>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ import namespace="Microsoft.SqlServer.Management.Smo" #>

-- Next line is only needed on SQL 2008
<#@ assembly name="Microsoft.SqlServer.Management.Sdk.Sfc" #>

<#
	string serverName = @"(local)\SQLEXPRESS";
    string databaseName = @"Northwind";
    Server server = new Server(serverName);       
    Database database = new Database(server, databaseName);
    database.Refresh();	
    foreach (Table table in database.Tables) 
    { 
#>		create procedure <#= table.Name #>_delete 
		@ProductID int    
		as 
		delete from <#= table.Name #> where	 
<#    
		foreach (Column column in table.Columns)
		{			
			if (column.InPrimaryKey)
				WriteLine(column.Name + " = @" + column.Name);
		}
		WriteLine("");
    	WriteLine("");
	
	}
#>
Abgelegt unter T4, Text-Template, Generieren, SQL, Genereate.

1 Kommentare zum Snippet

Tim Fischer schrieb am 28.04.2009:
Das Snippet muss als .tt Datei gespeichert werden. Visual Studio führt .tt Dateien automatisch als Code-Generierungsdateien aus.
Mehr Infos und einen visuellen Editor findet man unter http://t4-editor.tangible-engineering.com
 

Logge dich ein, um hier zu kommentieren!