zoukankan      html  css  js  c++  java
  • SQL Server 中update的小计

    update中涉及到多个表的:

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

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

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

    image

    虽然前面的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 将截断字符串或二进制数据

    image

    因为我得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是中文版的(应该说字符集是中文的比较准确),中文的一个字符等于两个字节。

    image

  • 相关阅读:
    总结PLSQL的快捷键以及使用技巧
    WebStorm 常用快捷键
    bootStrap小结3
    bootStrap小结2
    bootStrap小结1
    DataTable操作
    2017春 前端自动化(一)构建工具的搭建
    前端自动化之(一)—浏览器自动实时刷新
    基于div表单模拟右对齐
    纯css去实现loading动画效果图
  • 原文地址:https://www.cnblogs.com/cnmarkao/p/3687398.html
Copyright © 2011-2022 走看看