zoukankan      html  css  js  c++  java
  • 存储过程生成数据表的insert脚本

    /****** Object:  StoredProcedure [dbo].[Spgeninsertsql]    Script Date: 10/27/2010 15:30:34 ******/
    
    
    CREATE Proc [dbo].[Spgeninsertsql] (@Tablename Varchar(256))
    
    As
    
    Begin
    
    /*当变量的字符数超过8000时,执行存储过程失败。*/
    Declare @Sql Varchar(8000)
    
    Declare @Sqlvalues Varchar(8000)
    
    Set @Sql =' ('
    
    Set @Sqlvalues = 'values (''+'
    
    Select @Sqlvalues = @Sqlvalues + Cols + ' + '','' + ' ,@Sql = @Sql + '[' + Name + '],'
    
    From
    
    (Select Case
    
    When Xtype In (48,52,56,59,60,62,104,106,108,122,127)
    
    Then 'case When '+ Name +' Is Null Then ''null'' Else ' + 'cast('+ Name + ' As Varchar)'+' End'
    
    When Xtype In (58,61)
    
    Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast('+ Name +' As Varchar)'+ '+'''''''''+' End'
    
    When Xtype In (167)
    
    Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'replace('+ Name+','''''''','''''''''''')' + '+'''''''''+' End'
    
    When Xtype In (231)
    
    Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'replace('+ Name+','''''''','''''''''''')' + '+'''''''''+' End'
    
    When Xtype In (175)
    
    Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast(Replace('+ Name+','''''''','''''''''''') As Char(' + Cast(Length As Varchar) + '))+'''''''''+' End'
    
    When Xtype In (239)
    
    Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast(Replace('+ Name+','''''''','''''''''''') As Char(' + Cast(Length As Varchar) + '))+'''''''''+' End'
    
    Else '''null'''
    
    End As Cols,Name
    
    From Syscolumns
    
    Where (Id = Object_Id(@Tablename)) And (Autoval Is Null)
    
    ) T
    
    Set @Sql ='select ''insert Into ['+ @Tablename + ']' + Left(@Sql,Len(@Sql)-1)+') ' + Left(@Sqlvalues,Len(@Sqlvalues)-4) + ')'' From '+@Tablename
    
    --Print @Sql
    
    Exec (@Sql)
    
    End
    GO
    
    
    
  • 相关阅读:
    尝试一个“建立知识”的过程
    webscheduler 开源定时服务和延迟服务
    两款自定义表单设计器
    IIS应用池保持激活工具开发
    写文章 使用conda管理python环境
    conda 虚拟环境
    Java设计模式
    转:数据标准化/归一化normalization
    转:理解矩阵
    转:为何梯度反方向是函数值下降最快的方向
  • 原文地址:https://www.cnblogs.com/bmib/p/1977200.html
Copyright © 2011-2022 走看看