select into 临时表再使用过程中所遇到的问题和相应的解决方案

原创 2007年10月11日 09:59:00

使用中发现 select into 临时表 很麻烦,下面是使用中发现的一些注意事项(一下以mssqlserver为例):

1,一般使用

create table person (id int ,name varchar(20),birthday datetime)

读取数据到临时表中 select * into #tb_tmp from person where ....
使用临时表中的数据 select name from #tb_tmp where id = 1
使用之后不要忘记删除临时表(drop table #tb_tmp),否则下次使用时会报错如:
消息 2714,级别 16,状态 6,第 1 行
There is already an object named '#tb_tmp' in the database.

2,常见问题
select  '' as col into #tb_tmp
会包如下错误:
消息 2731,级别 16,状态 1,第 2 行
Column 'col' has invalid width: 0.

解决以上问题有两种方法:
解决方案一,''->null
 select null as col into #tb_tmp
解决方案二,''->ltrim(' ') or ''->rtrim(' ')
 select rtrim(' ') as col into #tb_tmp 

解决方案一引发的问题:
插入问题:只能插入int数字或数字类字符串(其中插入带小数的数字,小数部分会被自动去除)
如果插入数字以外的字符串,如:insert into #tb_tmp values('asdfsadf')会报如下错误:
消息 245,级别 16,状态 1,第 3 行
Syntax error converting the varchar value 'asdfsadf' to a column of data type int.

解决方案二引发的问题:
插入问题:只能插入 "('空格数')"中指定空格数范围内数量的字符串,当字符串中个数大于括号中指定空格数时报如下错误:
消息 8152,级别 16,状态 9,第 2 行
String or binary data would be truncated.
The statement has been terminated.

总结:select into 所引发的问题不能很好解决,建议使用临时表前先定义临时表的完整结构,并再定义列时加上(COLLATE

DATABASE_DEFAULT)属性,否则某些系统中使用中文时会出现乱码. 

把存储过程结果集SELECT INTO到临时表

把存储过程结果集SELECT INTO到临时表   在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种。   一. SELECT INTO  1. 使用se...
  • junboyboy
  • junboyboy
  • 2014年05月25日 17:29
  • 21215

实现将存储过程作为inser into的数据源,插入临时表

1、引言         今天项目制作报表需要实现一个功能,将执行一个存储过程后的数据表,作为数据源,插入到一张临时表里。由于这个临时表知识系统自动生成的字符串,并没有在数据库(SQL Server...
  • xie_xiansheng
  • xie_xiansheng
  • 2016年10月25日 19:15
  • 2316

MySQL中Update、select联用操作单表、多表,及视图与临时表的区别

一、MySQL中使用从表A中取出数据来更新表B的内容: 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin。SQL语言中不要显示的出现select关键字 u...
  • sunzhenhua0608
  • sunzhenhua0608
  • 2013年08月08日 17:39
  • 4254

持续集成过程中,临时文件太多导致编译不通过问题的解决方案

昨天开始svn+vs2008的自动集成服务器编译一直在报错如下:   C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Data.Entity.t...
  • danqueen
  • danqueen
  • 2012年03月02日 09:21
  • 582

magento使用过程中六个常见的问题和解决方案

  • 2017年03月27日 09:47
  • 18KB
  • 下载

使用easyui过程中遇到的问题及解决方案积累中...

1.发起2次 tml代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后又调用js初始化代...
  • u011769706
  • u011769706
  • 2014年05月28日 17:23
  • 834

ADS1.2环境使用过程中遇到的问题及解决方案

问题描述:ADS1.2点击debug进入AXD调试界面,点击全速运行按钮的时候出现如下图提示: 解决方法:在AXD中点击Options—>Configure Processor…,弹出如...
  • woniu3
  • woniu3
  • 2014年03月27日 15:45
  • 1182

Android Studio使用过程中遇到的一些问题及解决方案

由于之前的项目太复杂,主要是考虑到JNI在AS上编译不方便,还要考虑到项目进度,最近才从Eclipse转到AS,主要方案是AS中只引用jar包和so,JNI的编译还是在Eclipse中进行。这过程中遇...
  • zmywly
  • zmywly
  • 2015年11月14日 10:59
  • 1084

Android Studio使用过程中遇到的一些问题及解决方案

转自:http://zmywly8866.github.io/2015/11/11/android-studio-problem-solution-and-tips.html 说明:这是直接...
  • java_xxoo_android
  • java_xxoo_android
  • 2015年11月12日 18:08
  • 381

关于ArcGIS Engine开发过程中版本不一致问题的参考解决方案

  • 2017年06月21日 18:09
  • 483KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:select into 临时表再使用过程中所遇到的问题和相应的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)