sql insert into select 的用法

INSERT INTO SELECT语句

 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量

SQL>
SQL>
SQL> CREATE TABLE employee (
  2  id          number,
  3  name        varchar(100),
  4  birth_date  date,
  5  gender      varchar2(30) );

Table created.

SQL>
SQL>
SQL> INSERT INTO employee (id,name,birth_date,gender )
  2  SELECT 200,'Chris',NULL,'MALE' from   DUAL;

1 row created.

SQL>
SQL>
SQL> drop table employee;

Table dropped.

SELECT INTO FROM语句

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:

带有条件选择where

SQL>
SQL> CREATE TABLE employee (
  2  id          number,
  3  name        varchar(100),
  4  birth_date  date,
  5  gender      varchar2(30) );

Table created.

SQL>
SQL> INSERT INTO employee (id,name,birth_date,gender ) SELECT 300,'H',NULL,'MALE' from   dual d
  2  where not exists (SELECT 1 FROM   employee x WHERE  x.id = '300' );

1 row created.

SQL>
SQL> select * from employee;

    ID
------
NAME
----------------------------------------------------------------------
BIRTH_DATE GENDER
---------- ------------------------------
   300
H
null       MALE

Insert bulk by insert ... into ... select

SQL>
SQL> CREATE TABLE project (
  2    pro_id              NUMBER(4),
  3    pro_name            VARCHAR2(40),
  4    budget          NUMBER(9,2),
  5    CONSTRAINT project_pk   PRIMARY KEY (pro_id)
  6  );

Table created.

SQL>
SQL>
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1001, 'A',12345);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1002, 'ERP',23456);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1003, 'SQL',34567);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1004, 'CRM',45678);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1005, 'VPN',56789);

1 row created.

SQL>
SQL>
SQL> SET ECHO ON
SQL> INSERT INTO PROJECT (pro_id, pro_name)
  2     SELECT pro_id+8000,
  3            SUBSTR(pro_name,1,31) || ' Overhead'
  4     FROM project;

5 rows created.

时间: 2024-10-29 11:06:03

sql insert into select 的用法的相关文章

asp+access sql insert into select表复制

这里是把一个同的数据一次性保存到另一个表,用的是sql insert into  select另一张同结构的新表 sub append() call opendb() dim zsql,zdysql zsql="insert into zdgz select title,s_name,user_from,image,content,send_date,isture from zdy "  conn.execute(zsql)  if err=0 then   response.writ

sql insert into .. select..死锁解决办法

方法一 insert into a select * from b with(xlock) where form_no=@form_no 方法二,存储过程 sp_who --sql2000及以上 dbcc inputbuffer(spid)--用于查看具体的语句 kill spid --杀掉进程. --还是 select * from sys.sysprocesses --sql2005及以上 a. 按平均 cpu 时间排在前五个的查询 此方案提供有关 cpu 时间.io 读写以及按平均 cpu

sql 表内容复制 INSERT INTO Select语法

sql 表内容复制 insert into select语法 insert into 新表(字段1,字段2,.......) select 字段1,字段2,...... from 旧表 mysql教程_connect("localhost","root","123456"); mysql_select_db("db_test"); mysql_query("set names 'utf8'"); $quer

sql insert select语句的使用方法

sql insert select语句的使用方法 INSERT 语句中的 SELECT 子查询可用于将一个或多个其它的表或视图的值添加到表中.使用 SELECT 子查询可同时插入多行. 下面的 INSERT 语句将 titles 中数据的 type 是 modern cooking 的所有行的数据插入到一个单独的表中: USE pubsINSERT INTO MyBooks   SELECT title_id, title, type   FROM titles   WHERE type = '

select into 和 insert into select 全表复制sql语句

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我们在开发.测试过程中,经常会遇到需要表复制的情况,如将 一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 区别  代码如下 复制代码 select *

mysql insert into select

问题描述 mysql insert into select insert into a(server_id) select server_id from b where server_id = 6 ; a表中 设置id 为自增长 在插入的时候 有时候 select 的查询结果是空 则insert 到 a表中的数据是空 : 有两个问题请教大家 1, 如何在 select返回结果是空的时候 给server_id赋值 ? 2 , 或者如何在select 有结果非空数据的时候插入到a表中 ? 求解救 求

你真的会玩SQL吗?Case的用法(转)

今天来总结整理一下Case,因为SQL查询中用得最多的逻辑判断. Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex          WHEN '1' THEN '男'          WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男'          WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同

SQL Server触发器和事务用法示例

本文实例讲述了SQL Server触发器和事务用法.分享给大家供大家参考,具体如下: 新增和删除触发器 alter trigger tri_TC on t_c for INSERT,delete as begin set XACT_ABORT ON declare @INSERTCOUNT int; declare @DELETECOUNT int; declare @UPDATECOUNT int; set @INSERTCOUNT = (select COUNT(*) from insert

sql 触发器trigger 创建与用法

sql 触发器trigger 创建与用法 发器也是一种带名的pl/sql块.触发器类似于过程和函数,因为它们都是拥有声明 .执行和异常处理过程的带名pl/sql块.与包类似,触发器必须存储在数据库教程中并 且不能被块进行本地化声明. 对于触发器而言,当触发事件发生的时候就会显式地执行该触发器,并且触发器不 接受参数   create table employee( 2>     id          int, 3>     name        nvarchar (10), 4>