【SQL Sever】将SQL Sever中的一个数据表的数据导出为insert语句

例如:这SQL   Sever中的一张数据表,想要将这张数据表中的数据  转化成一个一个的insert语句存储在txt的文档中,那么不论走到那里这个insert语句一执行,我们就能将这个数据表中的数据插入到另一个地方了。

1》在新建查询中,创建一个对象,这个对象就是用来产生这个对象的,名字叫proc_insert,我们可以创建多个不重名的对象,当然也可以删除这个对象。

 1 create proc proc_insert (@tablename varchar(256))
 2 as
 3 begin
 4 set nocount on
 5 declare @sqlstr varchar(4000)
 6 declare @sqlstr1 varchar(4000)
 7 declare @sqlstr2 varchar(4000)
 8 select @sqlstr=‘select ‘‘insert ‘+@tablename
 9 select @sqlstr1=‘‘
10 select @sqlstr2=‘ (‘
11 select @sqlstr1= ‘ values ( ‘‘+‘
12 select @sqlstr1=@sqlstr1+col+‘+‘‘,‘‘+‘ ,@sqlstr2=@sqlstr2+name +‘,‘ from (select case
13 -- when a.xtype =173 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(‘+convert(varchar(4),a.length*2+2)+‘),‘+a.name +‘)‘+‘ end‘
14 when a.xtype =127 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(20),‘+a.name +‘)‘+‘ end‘
15 when a.xtype =104 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(1),‘+a.name +‘)‘+‘ end‘
16 when a.xtype =175 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ + ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
17 when a.xtype =61 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘‘‘‘‘‘‘‘‘+‘+‘convert(varchar(23),‘+a.name +‘,121)‘+ ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
18 when a.xtype =106 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(‘+convert(varchar(4),a.xprec+2)+‘),‘+a.name +‘)‘+‘ end‘
19 when a.xtype =62 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(23),‘+a.name +‘,2)‘+‘ end‘
20 when a.xtype =56 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(11),‘+a.name +‘)‘+‘ end‘
21 when a.xtype =60 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(22),‘+a.name +‘)‘+‘ end‘
22 when a.xtype =239 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ + ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
23 when a.xtype =108 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(‘+convert(varchar(4),a.xprec+2)+‘),‘+a.name +‘)‘+‘ end‘
24 when a.xtype =231 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ + ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
25 when a.xtype =59 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(23),‘+a.name +‘,2)‘+‘ end‘
26 when a.xtype =58 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘‘‘‘‘‘‘‘‘+‘+‘convert(varchar(23),‘+a.name +‘,121)‘+ ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
27 when a.xtype =52 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(12),‘+a.name +‘)‘+‘ end‘
28 when a.xtype =122 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(22),‘+a.name +‘)‘+‘ end‘
29 when a.xtype =48 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(6),‘+a.name +‘)‘+‘ end‘
30 -- when a.xtype =165 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(‘+convert(varchar(4),a.length*2+2)+‘),‘+a.name +‘)‘+‘ end‘
31 when a.xtype =167 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ + ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
32 else ‘‘‘NULL‘‘‘
33 end as col,a.colid,a.name
34 from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36
35 )t order by colid
36
37 select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+‘) ‘+left(@sqlstr1,len(@sqlstr1)-3)+‘)‘‘ from ‘+@tablename
38 -- print @sqlstr
39 exec( @sqlstr)
40 set nocount off
41 end
42 go

2》执行这个对象,让他产生insert语句

1 exec proc_insert p_phone;

效果如下:

3》第一步全选,第二步将结果另存为

4》这样就生成了一个文本文件了

5》如果这里面的id是自增的,或者不想让某一列插入,那就将这些代码放在word中进行替换。

END----

时间: 2024-10-20 23:50:48

【SQL Sever】将SQL Sever中的一个数据表的数据导出为insert语句的相关文章

向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE(&#39;{0}&#39;,&#39;YYYY-MM-DD&#39;))

需要指出的是,C#中有datetime类型,但是这个类型是包括小时,分钟,秒的.这个格式与数据库中的Date类型不符,如果将now设为datetime类型插入数据会失败. 需要通过TO_DATE('字段','YYYY-MM-DD'))转换.如下: string.Format("insert into tablename (TIME) values(TO_DATE('{0}','YYYY-MM-DD'))",now) 错误写法: string.Format("insert in

JS 向web sql数据表插入数据

var strSQL = "insert into tableName values (?,?,?)"; var info=[1,1,1]; //向web sql数据表插入数据. function insertInfo(strSQL,info){ //连接数据库(http://www.cnblogs.com/nb08611033/p/8227560.html) db = openDB(); if (db) { db.transaction(function(tr) { tr.execu

69期-Java SE-031_MySQL-001-002 创建表、MySQL数据类型、数据的管理(数据库结构、数据表、数据)、SQL 函数

### 创建表 1.创建数据库 ```sql create database mstest default character set utf8 collate utf8_general_ci ``` 2.创建数据表 ```sql create table user( id int, name varchar(11) ) ``` Java 数据类型:基本数据类型 byte short int long double float boolean char ? 引用类型 MySQL 数据类型 - 整

MySQL 数据库中如何把A表的数据插入到B表?

web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码. 以mysql数据库为例分情况一一说明: 两张表:insertTest和insertTest2,前者中有测试数据 create table insertTest(id int(4),name varchar(12));insert into insertTest values(100,'tom')

Hive中的数据库、表、数据与HDFS的对应关系

1.hive数据库 我们在hive终端,查看数据库信息,可以看出hive有一个默认的数据库default,而且我们还知道hive数据库对应的是hdfs上面的一个目录,那么默认的数据库default到底对应哪一个目录呢?我们可以通过hive配置文件hive-site.xml中的一个hive.metastore.warehouse.dir配置项看到信息. 如上图,它告诉了我们默认数据库default在hdfs的目录. 在我们的metastore中,我们可以查阅表DBS来获知对应关系. 2.hive表

二十二、SAP中创建一个内表,并添加内容循环输出显示

一.直接上代码 二.输出如下 原文地址:https://www.cnblogs.com/tianpan2019/p/11204285.html

将一个数据表的数据复制到另一个表

1 声名表a,b 2 --b表存在(两表结构一样)insert into b select * from a 3 若两表只是有部分(字段)相同,则 4 insert into b(col1,col2,col3,col4,...) select col1,col2,col3,col4,... from a where... 5 把表a插入到表b中去. 6 --b表不存在select * into b from a 7 8 select (字段1,字段2,...) into b from a

ASPxGridView中如何对主从表绑定数据

注:在从表的aspxgridview中的(OnDataBinding()事件中绑定数据)-----代码如下 //绑定属性值表protected void grid2_sonTable_DataBinding(object sender, EventArgs e){ASPxGridView songrid = (ASPxGridView)sender; //实例化从表表object _faterid = songrid.GetMasterRowKeyValue(); //获取主表行id(模板gri

MySQL查询数据库中所有数据表的数据条数

select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = '数据库名称' order by table_rows desc; 原文地址:https://www.cnblogs.com/yulongcode/p/11395928.html