zoukankan      html  css  js  c++  java
  • 提取SQL脚本代码

     public static IList<string> GenerateStoredProcedures()
            
    {
                
    int i = 0;
                IList
    <string> list = new List<string>();
                DBUitility db 
    = new DBUitility();

                SqlConnection conn 
    = db.CreateConnection(@"Data Source=.\sqlExpress;Initial Catalog=PBCS;Integrated Security=True");

                
                DataTable dt 
    = db.GetDataAsDataTable(
                    
    "select name, object_id from sys.objects where type='P' and charindex( '_', [name]) =0 and objectproperty(object_id,'IsProcedure' ) =1");

                
    foreach (DataRow dr in dt.Rows)
                
    {
                    
    string id = dr["object_id"].ToString();
                    
    string name = dr["name"].ToString();
                  
                    DataTable dtText 
    = db.GetDataAsDataTable(
                                
    string.Format("exec sp_helptext '{0}'", name));
                    i
    ++;

                    StringBuilder sb 
    = new StringBuilder();
                    sb.AppendLine(
    string.Format("if exists (select * from dbo.sysobjects where id = object_id('[dbo].[{0}]') and OBJECTPROPERTY(id, 'IsProcedure') = 1)", name));
                    sb.AppendLine(
    "begin");                
                    sb.AppendLine(
    string.Format(" drop procedure [dbo].[{0}]", name));
                    sb.AppendLine(
    "end");                
                    sb.AppendLine(
    "go");
                    sb.AppendLine();
                    
    bool bStart = true;
                    
    foreach (DataRow drText in dtText.Rows)
                    
    {
                        
    if (bStart && drText[0].ToString().Trim() != "")
                        
    {
                            bStart 
    = false;                        
                        }

                        
    if (!bStart)
                        
    {
                            sb.Append(drText[
    0].ToString());
                        }

                    }

                    
                    sb.AppendLine(); 
                    sb.AppendLine(
    "go");
                    sb.AppendLine();

                    Debug.AutoFlush 
    = true;
                    Debug.WriteLine(sb.ToString());

                    list.Add(sb.ToString());
                }

                conn.Dispose();
                
    return list;
            }
     public static IList<string> GenerateFunctions()
            
    {
                
    int i = 0;
                IList
    <string> list = new List<string>();
                DBUitility db 
    = new DBUitility();

                SqlConnection conn 
    = db.CreateConnection(@"Data Source=.\sqlExpress;Initial Catalog=PBCS;Integrated Security=True");


                DataTable dt 
    = db.GetDataAsDataTable(
                    
    "select name, object_id from sys.objects where type='TF' and charindex( '_', [name]) =0");

                
    foreach (DataRow dr in dt.Rows)
                
    {
                    
    string id = dr["object_id"].ToString();
                    
    string name = dr["name"].ToString();

                    DataTable dtText 
    = db.GetDataAsDataTable(
                                
    string.Format("exec sp_helptext '{0}'", name));
                    i
    ++;

                    StringBuilder sb 
    = new StringBuilder();
                    sb.AppendLine(
    string.Format("if exists (select * from dbo.sysobjects where id = object_id('[dbo].[{0}]'))", name));
                    sb.AppendLine(
    "begin");
                    sb.AppendLine(
    string.Format(" drop function [dbo].[{0}]", name));
                    sb.AppendLine(
    "end");
                    sb.AppendLine(
    "go");
                    sb.AppendLine();
                    
    bool bStart = true;
                    
    foreach (DataRow drText in dtText.Rows)
                    
    {
                        
    if (bStart && drText[0].ToString().Trim() != "")
                        
    {
                            bStart 
    = false;
                        }

                        
    if (!bStart)
                        
    {
                            sb.Append(drText[
    0].ToString());
                        }

                    }


                    sb.AppendLine();
                    sb.AppendLine(
    "go");
                    sb.AppendLine();

                    Debug.AutoFlush 
    = true;
                    Debug.WriteLine(sb.ToString());

                    list.Add(sb.ToString());
                }

                conn.Dispose();
                
    return list;
    }

  • 相关阅读:
    .net core 3.1 使用Redis缓存
    JavaSE 高级 第11节 缓冲输入输出字节流
    JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream
    JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream
    JavaSE 高级 第08节 文件输出流FileOutputStream
    JavaSE 高级 第07节 文件输入流FileInputStream
    JavaSE 高级 第06节 初识I、O流
    JavaSE 高级 第05节 日期类与格式化
    JavaSE 高级 第04节 StringBuffer类
    JavaSE 高级 第03节 Math类与猜数字游戏
  • 原文地址:https://www.cnblogs.com/rockniu/p/753210.html
Copyright © 2011-2022 走看看