Feedback

C# - T-SQL-Stored-Proc Generieren

Veröffentlicht von am 4/28/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
<#@ 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 4/28/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!