zoukankan      html  css  js  c++  java
  • 临时表列的长度

    创建一个临时表的时候.如果不指定列的长度,则临时表列的长度会根据所参照的表的对应列的大小,如

    --创建一个表

    Create table tmp1 (tmp1 varchar(3))

    --创建临时表
    select tmp1.tmp1 as tmp2 into #tmp2 from tmp1

    --第一条语句成功,但是第二条失败,因为超出了长度

    insert into #tmp2 values('123')
    insert into #tmp2 values('1234')

    --而如果没有参照其他数据表,则临时表的列会根据第一条插入的语句的数据长度而自动设置 ,如

    select '123' as tmp into #tmp3

    insert into #tmp3 values('123')
    insert into #tmp3 values('1234')

    --第一条语句成功,但是第二条失败,因为超出了长度

    因此,使用临时表的时候 ,要注意临时表的列的长度是多大,避免超出

    改变临时表的列的长度:

    select tmp1 as tmp2 into #tmp2 from tmp1
    --修改临时表列的长度
    alter table #tmp2 alter column tmp2 nvarchar(max)


    还有一种比较取巧:通过加长第一次插入的值的长度

    select tmp1 as tmp2,'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx' as xx into #tmp2 from tmp1



  • 相关阅读:
    pop动画
    CoreData的用法
    高德地图详细使用方法
    GDataXML配置过程
    图片懒加载(仿SDWebImage)
    GCD创建单例
    多线程-多线程基础
    Zookeeper-集群与单机实践
    oracle-union all与order by联合使用
    分布式和集中式架构
  • 原文地址:https://www.cnblogs.com/0banana0/p/2406258.html
Copyright © 2011-2022 走看看