SQL Server 2005导出表中数据的SQL脚本形式

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
CREATE    proc sp_GenInsertSQL ( @tablename  varchar( 256))
as
begin
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  ' + ''' N ''''''  +  '  +  ' 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  ' + ''' N ''''''  +  '  +  ' cast(replace( ' + name + ' , '''''''' , '''''''''''' ) as Char( '  +  cast(length  as  varchar+  ' ))+ ''''''''' + '  end '

                 else  ''' NULL '''

               end  as Cols,name

          from syscolumns 

         where id  =  object_id( @tablename)

      ) 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


然后执行:
exec sp_GenInsertSQL  ' 表名 '
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
3月前
|
SQL 关系型数据库 Shell
SQL整库导出语录及其实用技巧与方法
在数据库管理和备份恢复过程中,整库导出是一项至关重要的任务
|
3月前
|
SQL Oracle 关系型数据库
SQL整库导出语录:全面解析与高效执行策略
在数据库管理和维护过程中,整库导出是一项常见的需求,无论是为了备份、迁移还是数据分析,掌握如何高效、准确地导出整个数据库至关重要
|
3月前
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
465 0
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
5月前
|
存储 SQL Go
全网最长的sql server巡检脚本分享(1000行)
全网最长的sql server巡检脚本分享(1000行)
82 1
|
5月前
|
SQL XML 运维
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
40 1
|
5月前
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
111 0
|
5月前
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
592 0
|
5月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
568 0
|
SQL 数据库 索引
Sqlserver与access数据库sql语法十大差异
ACCESS结构简单容易处理,而且也能满足多数的网站程序要求,也是初学者的试牛刀。ACCESS是小型数据库,既然是小型就有他根本的局限性: 1)、数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降! 2)、网站访问频繁,经常超过100人的在线时,处理速度会有影响! 3)、记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!微软公司为了与ACCESS高低搭配的一种高端方案:改用了Sqlserver,但语法会有一些差异。
1010 0