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. [Admin]CCTV文件分类

    #建立远程服务器的文件夹映射 $pw = ConvertTo-SecureString '密码' -AsPlainText -Force $Creds = New-Object -Typename S ...

  2. 深入说明HDR

    http://wenku.baidu.com/link?url=xBdq0VRVi2t0x9uis3XfU_0mKf2eK0e6y_1hiSo7IWSWyUE8yAwaTJ60ZlxTzQf91VPf ...

  3. 解决蓝屏代吗0x0000007B的几种常见办法

        解决蓝屏代吗0x0000007B的几种常见办法 0x0000007B 蓝屏代码的分析 ◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 网络上经过收集,主要有四种可能.第一是新 ...

  4. 高手指南PHP安装配置

    高手指南PHP安装配置 2014-11-05 12:57:13   来源:   评论:0 次 点击:12 次 | 发布人:登陆查看   PHP的快速发展,它的功能越来越强大,运用它也变得很方便,下面我 ...

  5. GitHub超详细图文攻略

    GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git 分类: 转载2014-03-25 21:10 10641人阅读 评论(2) 收藏 举报 GitHubbr ...

  6. PHP 魔术变量

    PHP 魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常 ...

  7. Arrays类的十大用法

    还有很多地方需要细细斟酌 0. 声明数组 String[] aArray = new String[5]; String[] bArray = {"a","b" ...

  8. X5学习笔记—给单元格添加颜色

    设置grid某一个单元格的颜色 可以用dhtmlxgrid的原生态方法 setCellTextStyle (row_id, ind, styleString) 参数: rowid:行id cellin ...

  9. ServletContextDemo

    1.servlet 之间共享数据 package xw.servlet; import javax.servlet.ServletContext; import javax.servlet.http. ...

  10. FW nexus docker

    原文地址: http://www.cnblogs.com/wzy5223/p/5410990.html Nexus 3.0 可以创建三种docker仓库: 1. docker (proxy)     ...