1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<#@ 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("");
}
#>
|