zoukankan      html  css  js  c++  java
  • 表复制语句INSERT INTO与SELECT INTO

    在业务逻辑复杂的过程中,经常会用把一张表的数据复制到另外一张表中;

    sql给我提供2中最常用的方法:

    第一种用INSERT INTO 

    第二种用SELECT INTO

    现在以实例举例:

    -----报价表------------------
    CREATE TABLE MDPrices(
    ID    INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    Goods INT NOT NULL,
    Area  INT NOT NULL,
    GuidePrice DECIMAL(18,4),
    CreateTime DATETIME DEFAULT GETDATE()
    )
    ------------------------------
    -----历史报价表---------------
    CREATE TABLE MD_HistoryPrices(
    ID	INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    Goods INT NOT NULL,
    Area INT NOT NULL,
    Price DECIMAL(18,4),
    CREATETIME DATETIME
    )
    ----------INSERT INTO --------
    INSERT INTO MD_HistoryPrices(Goods,Area,Price,CREATETIME) SELECT Goods,Area,GuidePrice,CreateTime FROM MDPrices
    
    ----------查  询--------------
    SELECT * FROM MD_HistoryPrices
    ----------------------------------
    

     第二种情况 ,用SELECT INTO

    语法SELECT * INTO 表1 FROM 表2

    表1在我们的db中不能存在,select into的意思再执行时创建表1,不需要提前创建好;

    SELECT IDENTITY(SMALLINT ,1,1) AS ID, Goods,Area,GuidePrice,CreateTime INTO HistoryPrice FROM MDPrices

    IDENTITY()函数作用在表HistoryPrice从1开始编辑自增号,种子是1;

    语法:identity(data_type,seed,increment) as Column_Nmae

    只用在带有INTO TABLE子句的SELECT语句中,将标识列插入的新表中,但不是与create table一起使用的identity属性 

  • 相关阅读:
    常见三种字符编码的区别:ASCII、Unicode、UTF-8
    字节、字、bit、byte的关系
    SQLite 3 中的数据类型
    关于线程安全和可重入的区别
    线程安全与可重入
    c++中const变量定义与头文件包含的有关问题
    extern "C"的用法解析
    gVim for windows 简单使用教程
    函数对象
    Qt核心剖析:信息隐藏
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2497963.html
Copyright © 2011-2022 走看看