对select into表复制的一点思考
操作系统:Windows 2007
数据库版本:SQL Server 2008 R2
今天写存储过程遇到一个问题,用"Select 1 id,'Boss_he' into A"这样的SQL语句创建A表时,它的字段类型及字段长度是由select出来的字段决定的。
当我们往A表插入一些字段较长的数据时,数据库就会提示”类型转换异常“等一些错误信息。
"Select * into A From B"是我们经常用到的一种表复制语句,它实现的功能是创建A表,A表表结构和B表的表结构完全相同,并把B表的数据填充到A表。
如果是这样的一条SQL,"SELECT 'Boss_he' name,0 comm,1000.00 sal INTO A",它创建A表的脚本如下:
CREATE TABLE [dbo].[A](
[name] [VARCHAR](7) NOT NULL,
[comm] [INT] NOT NULL,
[sal] [NUMERIC](6, 2) NOT NULL
) ON [PRIMARY]
可以看得出来,A表的字段类型及长度是根据Select 出来的字段决定的。假如,我希望A表的字段name的类型为VARCHAR,长度为20,字段comm的定义
指定是NUMERIC(10,2),sal字段对应的是NUMERIC(20,7)。下面是实现代码的脚本:
SELECT CONVERT(VARCHAR(20), 'Boss_he') name ,
CONVERT(NUMERIC(10, 2), 0) comm ,
CONVERT(NUMERIC(20, 7), 1000) sal
INTO A
当然,也可以先创建A表,再用"insert into A select * from B"语句来复制B表的数据到A表。
对select into表复制的一点思考的更多相关文章
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...
- Insert select 带选择复制一张表到另一张表
使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,fi ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句.txt
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...
- select into from和insert into select from两种表复制语句区别
select into from和insert into select from两种表复制语句都是将源表source_table的记录插入到目标表target_table,但两句又有区别. 第一句(s ...
- oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INT ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)
https://www.cnblogs.com/mq0036/p/4155136.html 我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个tabl ...
- 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...
- oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...
随机推荐
- 多用pip,少用easy_install。
在此之前装python包,用过easy_install,也用过pip,但都是照猫画虎,在网上找命令完了装上就完事.现在稍微整理一下. easy_install: python开发有一个工具,setup ...
- Linux Mono Asp.net 部署方案
1.Jexus 国内的 官网:http://www.jexus.org 2.Apache 官网:http://mono-project.com/Mod_mono 3.Nginx 官网:http://m ...
- books
<<learning opencv>>, 布拉德斯基 (Bradski.G.) (作者), 克勒 (Kaehler.A.) (作者), 这本书一定要第二版的,因为第二版 ...
- 武汉Uber优步司机奖励政策(2月1日~2月7日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- SSH架构
说说项目架构整个变化过程吧 拿用户注册来举例: 数据库里面有一张User表 需要把注册信息存储到User表中 1. 最开始是两层架构 就是cliect + jsp + DB 就是在 ...
- java.util.concurrent 包笔记 --- BlockingQueue
BlockingQueue 队列接口,具有 4 组不同的方法用于插入.移除以及对队列中的元素进行检查.如果请求的操作不能得到立即执行的话,每个方法的表现也不同.这些方法如下: Throws exc ...
- iOS OC开发代码规范
1.变量.类名.函数名 使用驼峰命名法 2.尽量使用完整的单词命名,尽量不采用 缩写单词 3.类名使用大写字母打头,前缀统一加上HH 例如:HHHomePageController 4.类的成员变量使 ...
- DataTable导入到Excel文件
; saveFileDialog.RestoreDirectory = ; , intIndex] = column.ColumnName; ...
- 【转】关于onActivityResult方法不执行的问题汇总
首先说说本人碰到的于onActivityResult不执行的情况.(网上找了很久都没有人碰到) 1.直接上代码说明 ActivityA的代码:(放在onCreate方法中) Intent intent ...
- Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...