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及自增标识列的更多相关文章

  1. SQL Server解惑——标识列的限制和跳号现象

      1:每个表只能创建一个标识列. 如下测试所示,如果表中有一个标识列,新增一个标识列就会遇到错误"Multiple identity columns specified for table ...

  2. 使用JDBC插入数据到ORACLE,使用标识列自增列

    不同于SQL Server的是,Oracle中插入数据的时候,没有自增列或者是标识列,但是,我们又不想显式的进行主键的插入,这里,必须在Oracle数据库中指定一个标识列,或者说是一个序列.具体方法如 ...

  3. sqlserver 插入数据时异常,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXXXX.dbo.XXXXXXXXX'中的标识列指定显式值。

    INSERT INTO XXXXXXXXX.dbo.XXXXXXXXX select * from XXXXXXXXX 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'X ...

  4. 使用sql语句创建修改SQL Server标识列(即自动增长列)

    一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...

  5. Guid算法与标识列(自动增长字段)在表中的应用

    <<1>>int(bigint)+标识列(自动增长字段) 用标识列实现字段自增可以避免并发等问题.不需开发人员自己控制自增,用标识列的字段在Insert的时候不用指定主键的值. ...

  6. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。

    在创建事务复制时,很多时候不一定使用快照进行初始化,而是使用备份还原初始化.当对有标识列(即identity的自增列)的表进行复制的时候,使用备份还原初始化搭建起来的复制常常就会报错,即:当 IDEN ...

  7. SQL Server中的标识列

    一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列. 该种列具有以下三种特点: .列的数据类型为不带小数的数值类型 .在进行插入(Insert)操作时,该列的值是由 ...

  8. Oracle 12C -- Identity Columns(标识列)

    Identity Columns很适合数据库中需要"surrogate keys"的场景.依赖sequence产生器,每行的标识列会被赋予一个自增或自减的值.缺省,标识列在创建的时 ...

  9. SQL SERVER重置自动编号列(标识列)

    两种方法: 一种是用Truncate TRUNCATE TABLE name 可以删除表内所有值并重置标识值 二是用DBCC CHECKIDENT DBCC CHECKIDENT ('table_na ...

随机推荐

  1. PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )

    /* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 **** ...

  2. 实现Fragment 切换时不重新实例化

    以前实现Fragment的切换都是用replace方法实现 public void startFragmentAdd(Fragment fragment) { FragmentManager frag ...

  3. UIButton 长按点击 背景改变效果

    1.添加按钮的点击事件和按下事件 [btn setImage:[UIImage imageNamed:@"NorMal.png"] forState:UIControlStateN ...

  4. DWZ框架一些技巧

    DWZ框架from表单提交后关闭对话框 注意大小写 <input type="hidden" name="callbackType" value=&quo ...

  5. thinkphp四种url访问方式详解

    本文实例分析了thinkphp的四种url访问方式.分享给大家供大家参考.具体分析如下: 一.什么是MVC thinkphp的MVC模式非常灵活,即使只有三个中和一个也可以运行. M -Model 编 ...

  6. ecshop数据库操作函数

    ecshop数据库操作函数 分类: ecshop和dede2013-09-23 14:02 1716人阅读 评论(0) 收藏 举报 本章我们将结合eschop二次开发一些常见的开发例子.来谈谈ecsh ...

  7. A20板子上的触摸屏设备号变化后解决

  8. w_all_checked - js -checkbox 多选、全选、submit、request

    <!doctype html> <html> <head> <meta charset="UTF-8"> </head> ...

  9. 【转】C#中HttpWebRequest的用法详解

    本文实例讲述了C#中HttpWebRequest的用法.分享给大家供大家参考.具体如下: HttpWebRequest类主要利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来 ...

  10. java effective 读书笔记

    java effective 读书笔记 []创建和销毁对象 静态工厂方法 就是“封装了底层 暴露出一个访问接口 ” 门面模式 多参数时 用构建器,就是用个内部类 再让内部类提供构造好的对象 枚举 si ...