BCP及自增标识列
10:58 2012-12-20 通过BCP命令导入导出数据
bcp "test.dbo.lxy133" out d:\lxy133.txt -SMSSQL$SQL08R2 -Usa -Ppassword -c -t@# -b2000 --导入只需把out改成in
bcp "select top 20 * from test.dbo.lxy133" queryout d:\lxy133.txt -S127.0.0.1,1457 -Usa -Ppassword -c -t@# -b2000
-S后面可接实例名,也可接对应ip+端口。-w指定为Unicode编码
/**********10:05 2012-11-5 针对带自增长id表格的导入情况**********/
txt(不含id字段)-->sql
1、先创建含自增长id的表结构,利用企业管理器导入非自增字段,对应的id会自动填充
2、先创建含自增长id的表结构,利用bcp命令导入,由于源数据与目标数据结构不一致,导入会出错
txt(含id字段)-->sql
1、先创建含自增长id的表结构,利用企业管理器导入,结果与原文本一致
2、先创建含自增长id的表结构,利用bcp命令导入,结果id被置换成默认值增长
通过企业管理器将列设为标识列,实际操作是先创建一个与原始表列名相同的临时表,并且设置identity列,然后将数据全部插入到临时表(SET IDENTITY_INSERT table ON|OFF),之后再修改临时表的名称为原始表的名称(利用跟踪查看其具体操作过程,sysobjects中对象的crdate为之后的时间)。
一个巧妙的修改方法,Partition--使用分区切换来增加修改列的自增属性:http://www.cnblogs.com/TeyGao/p/5201706.html
第一步分区数据切换到目标数据表(都是普通表),第二步重置目标数据表的当前标识值。
14:02 2012-11-23
对于已存在记录的表添加identity字段,会自动按照所设定的步长填充
select * into addid from test.dbo.fanr_cityorder
alter table addid drop column id
alter table addid add id int identity(1,2)
Q:如何用sql语句去掉列的自增长(identity)
无法通过alter把现有自增字段改为非自增,比如alter table a alter id int,自增属性不会去掉
--自增改为非自增的一种折中方法
alter table a add xxx int
update a set xxx=id
alter table a drop column id
exec sp_rename 'xxx','id','column'
/**********11:03 2015/7/9 字段由varchar更改为binary**********/
背景:作业定期从master..sysprocesses获取阻塞数据保存到死锁信息表,发现死锁信息表中waittype字段没有显示具体数值,但在sysprocesses中却有。查看字段类型发现不一致,修改死锁信息表的列类型varchar为binary,报错如下。尝试将表中已有数据导出到临时表,然后清空表数据,再用语句修改列类型,依然报错。
通过SSMS->右击表格->设计,将varchar列更改为binary,实际操作是创建一个临时目标表,将原表数据导入到临时表(对应字段要做显示转换),之后再修改临时表的名称为原始表的名称(利用跟踪查看其具体操作过程,sysobjects中对象的crdate为之后的时间)。
BCP及自增标识列的更多相关文章
- SQL Server解惑——标识列的限制和跳号现象
1:每个表只能创建一个标识列. 如下测试所示,如果表中有一个标识列,新增一个标识列就会遇到错误"Multiple identity columns specified for table ...
- 使用JDBC插入数据到ORACLE,使用标识列自增列
不同于SQL Server的是,Oracle中插入数据的时候,没有自增列或者是标识列,但是,我们又不想显式的进行主键的插入,这里,必须在Oracle数据库中指定一个标识列,或者说是一个序列.具体方法如 ...
- sqlserver 插入数据时异常,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXXXX.dbo.XXXXXXXXX'中的标识列指定显式值。
INSERT INTO XXXXXXXXX.dbo.XXXXXXXXX select * from XXXXXXXXX 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'X ...
- 使用sql语句创建修改SQL Server标识列(即自动增长列)
一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...
- Guid算法与标识列(自动增长字段)在表中的应用
<<1>>int(bigint)+标识列(自动增长字段) 用标识列实现字段自增可以避免并发等问题.不需开发人员自己控制自增,用标识列的字段在Insert的时候不用指定主键的值. ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。
在创建事务复制时,很多时候不一定使用快照进行初始化,而是使用备份还原初始化.当对有标识列(即identity的自增列)的表进行复制的时候,使用备份还原初始化搭建起来的复制常常就会报错,即:当 IDEN ...
- SQL Server中的标识列
一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列. 该种列具有以下三种特点: .列的数据类型为不带小数的数值类型 .在进行插入(Insert)操作时,该列的值是由 ...
- Oracle 12C -- Identity Columns(标识列)
Identity Columns很适合数据库中需要"surrogate keys"的场景.依赖sequence产生器,每行的标识列会被赋予一个自增或自减的值.缺省,标识列在创建的时 ...
- SQL SERVER重置自动编号列(标识列)
两种方法: 一种是用Truncate TRUNCATE TABLE name 可以删除表内所有值并重置标识值 二是用DBCC CHECKIDENT DBCC CHECKIDENT ('table_na ...
随机推荐
- gnuplotx轴的logscale显示
假设数据是这样子的: gnuplot脚本如下: set terminal postscript eps color enhanced set log x set log y set format x ...
- Gitolite配置管理和GIT基本操作
简述公司版gitolite的项目配置与管理 1. 基于秘钥对的管理 1.1 客户端(需要访问代码库的机器)生成秘钥对,采用RSA加密ssh-keygen -t rsa -f path_to_store ...
- GDC2016 【巫师3 狂猎】的游戏事件工作流
巫师3 狂猎(The Witcher 3: Wild Hunt )的游戏事件工作流 http://game.watch.impress.co.jp/docs/news/20160320_74916 ...
- Unity中的协程(一)
这篇文章很不错的问题,推荐阅读英文原版: Introduction to Coroutines Scripting with Coroutines 这篇文章转自:http://blog.csdn. ...
- Happy
1.delighted 2.over the moon Alex is over the moon with promotion. 3.really pleased ...
- 批处理快速创建wifi
为什么要用cmd这种古老的东西创建wifi呢,电脑管家.360安全卫士都有这种插件,一键开启关闭,多方便啊! 开始用的也是电脑管家的免费wifi插件,但是我越来越不能忍它极慢的启动关闭过程,每一次看着 ...
- What's Assembly - CSharp - Editor - first pass.dll? Best How to Fix Assembly - CSharp - Editor - first pass.dll Error Guide
If you've found yourself here, I'm guessing that you're getting Assembly - CSharp - Editor - first p ...
- Xlib 窗口属性
Xlib 窗口属性 转, 无法找到原作者 所有的 InputOutput 窗口都可以有零个或者多个像素的边框宽度,一个可选的背景,一个事件压制掩码(它压制来自孩子的事件传播),和一个 property ...
- nodejs express测试
1.页面请求 app.get('/list_user', function (req, res) { console.log("/list_user GET 请求"); //res ...
- Google物联网操作系统协同框架Weave深度解析
1. Google Weave框架 在2015年的Google I/O大会上,负责Android业务的桑达.皮查伊(SundarPichai)宣布了Google最新的物联网战略.这包括一个 ...