insert into select的实际用法
INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
或者:Insert into Table2 select * from Table1
注意:(1)要求目标表Table2必须存在,并且字段field,field2...也必须存在
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2...中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
Insert into Table2(field1,field2,...) values (select value1,value2,... from Table1)
由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:
业务背景:在部分字段有变化的情况下,需要把部分数据复制插入到表里;
insert into MARKETING_JUMP_MANAGE (ID,JUMP_CHANNEL,JUMP_CLASS, STATE, CREAT_TIME, UPDATE_TIME, CREAT_NAME, UPDATE_NAME, SHOW_STATE, POSITION_NAME, POSITION_CODE, COMPONENT_ID, COMPONENT_NAME, CUSTOM, JUMP_NAME,jump_channel_name)
SELECT SEQ_SUBSET_MESSAGE.NEXTVAL ,b.* from
(
SELECT '60',JUMP_CLASS, STATE, CREAT_TIME, UPDATE_TIME, CREAT_NAME, UPDATE_NAME, SHOW_STATE, POSITION_NAME, POSITION_CODE, COMPONENT_ID, COMPONENT_NAME, CUSTOM, JUMP_NAME, 'XX渠道'
FROM MARKETING_JUMP_MANAGE c
where c.jump_channel='2'
)b;
分析sql:
1.insert语句全部字段
2.自增id 通过序列 SEQ_SUBSET_MESSAGE.NEXTVAL 查询
3.部分变化字段可以 直接写死,如上sql '60', 'XX渠道'
insert into select的实际用法的更多相关文章
- select into from 和 insert into select 的区别和用法及 SQL SELECT INTO 中Undeclared variable错误解决办法
今天试了一下数据表中的数据备份到另一个空的数据表,然后使用了SQL SELECT INTO语句,然后提示Undeclared variable......错误,现在在这里做下总结并给出解决办法. 应用 ...
- sql: sybase与oracle中insert into select和select into的用法
1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首 ...
- 创建表结构相同的表,表结构相同的表之间复制数据,Oracle 中 insert into XXX select from 的用法
/**1. 用select 创建相同表结构的表*/create table test_tbl2 as select * from test_tbl1 where 1<>1; /** 2. ...
- select into from 和 insert into select 的用法
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) valu ...
- SELECT INTO与INSERT INTO SELECT用法
SELECT INTO SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中: -- 创建 Websites 的备份,这种写法没走索引导致全表扫描 SELECT * INTO W ...
- SQL Server select into/bulkcopy用法
select into/bulkcopy用法 一.背景 如何提升批量插入效率,各位看官,瞧好了! exec sys.sp_dboption '数据库名','select into/bulkcopy', ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...
- oracle中 SELECT INTO 和INSERT INTO ... SELECT区别
在Oracle中,将一张表的数据复制到另外一个对象中.通常会有这两种方法:insert into select 和 select into from. 前者可以将select 出来的N行(0到任意数 ...
- [T-SQL]INSERT INTO SELECT 与 SELECT INTO FROM
1.INSERT INTO SELECT 语法:INSERT INTO Table2(field1,field2,...) select value1,value2,... from Table1 要 ...
随机推荐
- 【转】Kali更新源
1.切换到root用户(如果已经是root用户就直接看第二步) dnt@Kali:~$ su 2.用vim打开sources.list,手动添加下面的更新源 root@Kali:~# vim /etc ...
- 使用ML.NET实现猜动画片台词
前面几篇主要内容出自微软官方,经我特意修改的案例的文章: 使用ML.NET实现情感分析[新手篇] 使用ML.NET预测纽约出租车费 .NET Core玩转机器学习 使用ML.NET实现情感分析[新手篇 ...
- InterlliJ Debug方式启动:method breakpoints may dramatically show down debugging
使用idea在DEBUG的时候出现Method breakpoints may dramatically slow down debugging, 如图: 根据语义可能是断点打在方法上面了,导致在某个 ...
- Java基础5:抽象类和接口
本文主要介绍了抽象类和接口的特性和使用方法. 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.g ...
- Docker安装MySQL并配置my.cnf
1.创建一个临时的mysql,以便复制出my.cnf等数据 $ docker run --restart=always -d -v /opt/data/mysql/:/var/lib/mysql -p ...
- putty 默认颜色样式修改 for windows
一.导出 putty 注册表默认配置文件 1.1 打开注册表:运行 --» regedit 找到 putty 注册表文件: [HKEY_CURRENT_USER\Software\SimonTatha ...
- spring框架应用系列二:component-scan自动扫描注册装配
component-scan自动扫描注册装配 本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7717331.html ...
- 环境与工具2:建立高效的mac环境
你的工作与生活离不开电脑,电脑是一个工具,也是一个环境.环境是不是绿水青山,是不是得心应手,这是很重要的事情.小程平时使用macbook来学习跟娱乐,最近重装了系统,很多环境与工具都需要重新组建. 那 ...
- ssh-login 一键密码加密登录工具
ssh-login 1. Feature 管理多个帐号,每个帐号一个易记的 tip name,支持 tab 进行 tip name 补全,一键 ssh 登录 密码 AES 加密,密文存储密码,且只需要 ...
- Docker系列02—LXC---Docker的“前身”
本文收录在容器技术学习系列文章总目录 一.LXC介绍 1.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源. 2.LXC为Linux Containe ...