update中涉及到多个表的:

1.update TableA set a.ColumnC=b.ColumnC from TableA a inner join TableB b on a.ColumnD=b.ColumnD

这样是不对的,报错如下:

消息 4104,无法绑定由多个部分组成的标识符 “xxxx”

虽然前面的TableA和后面的TableA是同一个表,正确语法如下(我用的是SQL Server 2008测试的结果):

update TableA set ColumnC=b.ColumnC from TableA a inner join TableB b on a.ColumnD=b.ColumnD

2.update TableA set ColumnC=b.ColumnC from TableA a inner join TableB b on a.ColumnD=b.ColumnD

还是这个update语句,如下消息:

消息 8152 将截断字符串或二进制数据

因为我得TableA是这样生成的:

select

column1,

‘ ‘  column2

into TableA

from  TableC

具体的column2的字符类型好像是varchar,不知道系统为什么这样判断?length是1,所以update时就出错了,就好像把一根20cm的筷子放到只有10cm的易拉罐中一样,只好把筷子截断10cm。

3.有时要查看表中所有列的数据类型,可以使用sp_help

可以执行的几种方式:

sp_help

sp_help  数据库对象

sp_help 数据类型

我使用sp_help TableA

开始还想怎么nvarchar(255)的length是510啊?length是以字节为单位的。我使用的SQL Server是中文版的(应该说字符集是中文的比较准确),中文的一个字符等于两个字节。

转载于:https://www.cnblogs.com/cnmarkao/p/3687398.html

SQL Server 中update的小计相关推荐

  1. SQL Server中UPDATE和DELETE 微软MSDN官方文档链接

    UPDATE (Transact-SQL) DELETE (Transact-SQL)

  2. SQL Server 中关于 @@error 的一个小误区

    原文:SQL Server 中关于 @@error 的一个小误区 在SQL Server中,我常常会看到有些前辈这样写: if(@@error<>0)ROLLBACK TRANSACTIO ...

  3. 如何对SQL Server中的XML数据进行insert、update、delete .

    SQL Server 2005/2008增加了对XML数据的支持,同时也新增了几种操作XML的方法,本文主要以SQL Server 2008为例介绍如何对XML数据进行insert.update.de ...

  4. sql server中UNION 运算符随笔(几个需要注意的地方小总结)

    UNION 运算符是将两个或更多查询的结果组合为单个结果集 该结果集包含联合查询中的所有查询的全部行.这与使用联接组合两个表中的列不同. 使用 UNION 组合查询的结果集有两个最基本的规则: 1.所 ...

  5. SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)

    PS:随笔写的在SQL Server中要用到的 (重复.替换.截取.去空格.去小数点后的位数) /*---------------------------重复--------------------- ...

  6. 十步优化SQL Server中的数据访问

    故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户, ...

  7. SQL Server中的锁类型及用法(转载)

    一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新  A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读  ...

  8. SQL Server中常用的SQL语句

    1.概述 2.查询概述 3.单表查询 4.连接查询 5.带有exists的相关子查询 6.SQL的集合操作 7.插入操作 8.删除操作 9.修改操作 10.数据定义 11.视图 1.概述 名词 笛卡尔 ...

  9. 深入浅出SQL Server中的死锁

    简介 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的.理解死锁首先需要对死锁所涉及的相关观念有一个理解. 一些基础知识 要理解SQL Server中的死锁,更好的方式是通过类比从更大的面理 ...

最新文章

  1. Darknet_Yolov3模型搭建
  2. 『干货』分享你最喜欢的技巧和提示(Xcode,objective-c,swift,c...等等)
  3. 我在Archlinux下使用的软件
  4. 网络营销——网络营销浅析网站不发文还能维持稳定排名吗?
  5. oracle12c完全卸载工具_oracle完全卸载方法
  6. bzoj 3489 A simple rmq problem——主席树套线段树
  7. QT+SQLite 判断表中是否含有指定字段
  8. 从LFS官方文档构建完整Linux系统
  9. java 虚拟内存 堆_jvm虚拟内存分布 与 GC算法
  10. 大整数相乘 + 分治法(JS)
  11. Linux 以form表单形式上传文件
  12. android系统关闭wifi,Android以编程方式打开/关闭WiFi HotSpot
  13. 个人笔记1:display与visibility用法
  14. 通过python让打印出来的字体看起来像手写
  15. c语言编译器 代码优化,C语言 之编译器优化
  16. kali2020出现中文乱码解决
  17. 学习笔记10--自动驾驶汽车软件架构
  18. C++11 function类模板
  19. Theos(二):NIC(New Instance Creator)
  20. AI顶会ACL发榜,腾讯30篇论文入选

热门文章

  1. php5.3.28安装,安装php-5.3.28 时问题
  2. 将字符型的数字转化为整型
  3. html计算平均分,Calculate phastCon Score for a gene —- 计算基因的phastCon平均分,判断基因保守型...
  4. shell脚本的命令行传参
  5. Socket通信之操作系统的字节序和位数
  6. Python Qt GUI设计:QLabel标签类(基础篇—11)
  7. LabVIEW机器视觉系统图像畸变、校准和矫正(基础篇—3)
  8. 基于YOLO的手部检测和计数实现(课程设计,训练和测试)(1)
  9. 机器学习(6)KNN算法(K-近邻算法)
  10. 【python】 OSError:sift not found 问题解决