CodeSmith使用第二回(再看你一回)存储过程篇

今天看了看几个例子,练习了如何生成数据库存储过程,感觉很爽啊!哈哈
 1  <% @ CodeTemplate Language = " C# "  TargetLanguage = " T-SQL "  Src = ""  Inherits = ""  Debug = " False "  Description = " Template description here. "   %>
 2  <% @ Property Name = " SourceTable "  Type = " SchemaExplorer.TableSchema "  Description = " ????-??. "   %>
 3  <% @ Assembly Name = " SchemaExplorer "   %>
 4  <% @ Import Namespace = " SchemaExplorer "   %>
 5  < script runat = " template " >
 6  public   string  getParameter(ColumnSchema col)
 7  {
 8  String parameter = " @ " + col.Name + "   " + col.NativeType;
 9  switch (col.DataType)
10  {
11  case  DbType.Decimal:
12  {
13  parameter += " ( " + col.Precision + " , " + col.Scale + " ) " ;
14  break ;
15  }
16  default :
17  {
18  if (col.Size > 0 )
19  {
20  parameter += " ( " + col.Size + " ) " ;
21  }
22  break ;
23  }
24  }
25  return  parameter;
26  }
27  </ script >
28  create procedure dbo.Delete <%= SourceTable.Name %>
29  <% for ( int  i = 0 ;i < SourceTable.PrimaryKey.MemberColumns.Count;i ++ ){ %>
30  <%= getParameter(SourceTable.PrimaryKey.MemberColumns[i]) %>
31  <%   if (i > 0 ){ %> , <% } %>
32  <% } %>
33  AS
34  delete  *  from  <%= SourceTable.Name %>
35  where
36  <% for  ( int  i = 0 ;i < SourceTable.PrimaryKey.MemberColumns.Count;i ++ ){ %>
37  <% if ( i > 0 ){ %> and <% } %>
38  <%= SourceTable.PrimaryKey.MemberColumns[i].Name %>= @ <%= SourceTable.PrimaryKey.MemberColumns[i].Name %>
39  <% } %>
首先这是一个把模板编译成代码的IDE,可以用C#和vb.net编写代码,点击为选择的数据库表生成删除的存储过程,很爽哦,再来个更新的,^_^
update
菜鸟火速进步中,前人铺好路,学起来也比较轻松,偶尔要加上自己的一点小创意啊,哈哈!

你可能感兴趣的:(存储过程)