• 存储过程生成数据表的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
    
    
    
  • 相关阅读:
    Spring Boot SockJS应用例子
    Spring Boot+STOMP解决消息乱序问题
    Spring boot集成Websocket,前端监听心跳实现
    吐槽Windows 8,就没见过这么烂的平板操作系统
    怎样在MyEclipse上耍Chrome
    HDOJ 4876 ZCC loves cards
    IIS7.5 配置 PHP 5.3.5
    关于ANDROID模拟器的一些事
    性能測试命令字段解释
    排序算法复习
  • 原文地址:https://www.cnblogs.com/bmib/p/1977200.html
Copyright © 2020-2023  润新知