SQL Server 开发之 复制表数据的SQL脚本生成器 使用SQL Server 2000自带的“生成SQL脚本”工具,可以生成创建表、视图、存储过程等的SQL脚本。那么,能否将表中的数据也生成为SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQL Server中呢?答案是肯定的。 下面的存储过程是一位高人写的,这位高人的姓氏已无人知晓,但SQL Server社区中偶尔还可看到此不朽之作。 CREATE PROCEDURE dbo.OutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) declare @xtype tinyint declare @name sysname declare @objectId int declare @objectname sysname declare @ident int set nocount on set @objectId=object_id(@tablename) if @objectId is null -- 判断对象是否存在 begin print @tablename + '对象不存在' return end set @objectname=rtrim(object_name(@objectId)) if @objectname is null or charindex(@objectname,@tablename)=0 begin print @tablename + '对象不在当前数据库中' return end if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判断对象是否是表 begin print @tablename + '对象不是表' return end select @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80 if @ident is not null print 'SET IDENTITY_INSERT '+ @TableName + ' ON' --定义游标,循环取数据并生成Insert语句 declare syscolumns_cursor cursor for select c.name,c.xtype from syscolumns c where c.id=@objectid order by c.colid --打开游标 open syscolumns_cursor set @column='' set @columndata='' fetch next from syscolumns_cursor into @name,@xtype while @@fetch_status <> -1 begin if @@fetch_status <> -2 begin if @xtype not in(189,34,35,99,98) --timestamp不需处理,image,text,ntext,sql_variant 暂时不处理 begin set @column=@column + case when len(@column)=0 then '' else ',' end + @name set @columndata = @columndata + case when len(@columndata)=0 then '' else ','','',' end + case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,char when @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,nchar when @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetime when @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetime when @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifier else @name end end end fetch next from syscolumns_cursor into @name,@xtype end close syscolumns_cursor deallocate syscolumns_cursor set @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablename print '--'+@sql exec(@sql) if @ident is not null print 'SET IDENTITY_INSERT '+@TableName+' OFF' 调用时 exec OutputData 'myuser' 其中myUser中当前数据库中存在的表
分享到:
相关推荐
SQL Server 2000和2005版本默认的脚本生成工具虽然能够生成数据库结构的DDL(Data Definition Language)脚本,但并不包括表内的数据,这无疑增加了数据库管理员的工作负担。为了克服这个限制,出现了专门的工具或...
7. **自动化工作流**: 通过与其他工具集成,例如使用批处理脚本或自动化工具,SQL脚本生成器可以自动执行数据库维护任务,如定期备份、测试环境同步等。 8. **安全性**: 在生成脚本时,工具应考虑权限和安全设置,...
SQL Server 导出带数据的脚本 SQL Server 是一个功能强大的关系数据库管理系统,它提供了多种方式来导出数据库结构和数据。今天,我们将探讨如何使用 SQL Server Management Studio (SSMS) 导出带数据的脚本。 一...
SQL Server 数据库脚本生成器 利用网上下载的SPGen的源码修改而成,SPGen是一个能导出数据库中某数据表的插入和更新存储过程,我向里面添加了一个"数据脚本生成"的功能,就是把表中的数据生成插入的SQL语句,就类似于...
生成数据库脚本的生成工具,简单易用,无需安装!
这种工具通常提供自动化脚本生成、批量处理等功能,可能比SSMS更高效,尤其对于大量数据和复杂数据库结构的处理。 4. 数据脚本的应用场景: - 数据库初始化:在创建新数据库时,可以使用数据脚本来快速填充测试...
在SQL Server中,生成表的脚本是一种常见的数据库管理任务,尤其在数据库设计、备份或复制表结构到其他环境时非常有用。以下是一份详细的指南,教你如何在SQL Server中通过脚本创建表。 首先,我们可以使用SQL ...
总的来说,SQL代码生成器是SQL Server开发人员的强大助手,它通过自动化SQL脚本的创建,简化了数据库管理和维护工作。熟练掌握这类工具的使用,不仅可以提升工作效率,还能为项目带来更高的质量和稳定性。
- **数据库对象导出**:SQL脚本生成器能够将数据库中的表、视图、存储过程、触发器、函数等对象导出为SQL脚本,方便进行备份或复制到其他数据库。 - **数据迁移**:通过生成包含数据的INSERT语句,可以实现数据从...
SQL Server脚本生成器是一款专为数据库管理员和开发者设计的工具,它可以帮助用户自动生成针对SQL Server数据库的各种操作脚本,如创建表、视图、存储过程、触发器等。这款脚本生成器通常用于数据库的备份、迁移、...
标题中的“个人用C#实现的SqlServer数据脚本生成器”是一个使用C#编程语言开发的工具,其主要功能是自动生成SQL脚本,用于在SQL Server数据库中更新或插入数据。这种工具对于数据库管理员或者开发者来说是非常有价值...
这将生成一个SQL脚本文件,包含了创建该表的DDL(Data Definition Language)语句。 - T-SQL命令:可以使用`sp_helptext`系统存储过程查看表的定义,但此方法通常用于查看,不便于导出。 2. **导出数据:** - ...
在SQL Server中,将表从一个数据库复制到另一个数据库的过程涉及到数据库对象的迁移,这通常通过创建表的结构脚本和数据迁移来实现。以下是一个详细的步骤指南: 1. **启动SQL Server Management Studio (SSMS)**: ...
一款绿色、免安装的sql数据库脚本生成工具,适合sqlserver2005等数据库,很好用的
SQL表记录脚本生成器是一种实用工具,专为数据库管理员和开发人员设计,它能够方便地将数据库中的表结构、索引以及所有记录转换为SQL脚本。这种工具在数据备份、迁移和恢复过程中扮演着关键角色,尤其对于那些需要...
6. 完成上述设置后,点击“完成”,SSMS会自动生成一个SQL脚本,包含了2005版本可以执行的创建表、存储过程、索引等对象的语句。 转换后的脚本有两种处理方式:一是直接在远程主机提供商的SQL Server 2005环境中...
SQL Server提供了一些内置工具和第三方软件来实现这一目标,其中“sql server数据库中数据生成sql脚本的工具”就是这类应用的一个实例。 1. **SQL Server Management Studio (SSMS)** SQL Server Management ...
### 导出SQL Server部分表(特定表)数据说明 #### 概述 在日常的数据库管理工作中,经常需要对数据库中的部分表进行导出操作,以满足迁移、备份或数据分析等需求。本文将详细介绍如何通过SQL Server Management ...
在SQL Server中,将数据导出为SQL脚本是一项常用的操作,这有助于备份数据库、迁移数据或在不同的环境中重新创建数据。通常,SQL Server Management Studio (SSMS) 提供的功能仅能导出数据库架构,包括表结构、索引...
通过使用SQL Server 脚本导出器,你可以轻松地将整个数据库或特定的表的结构和数据转换为SQL脚本,这在数据库的备份、恢复、复制或迁移场景中非常有用。 "数据信息变成Sql插入语句"是该工具的核心特性。SQL插入语句...