zoukankan      html  css  js  c++  java
  • sql: sybase与oracle中insert into select和select into的用法

    1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679

    Sybase

    一、首先,我们来看一下insert into select语句

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

      这里的要求就是Table2必须已经存在,如果不存在,系统则会提示对象无效。

      例如
    insert into boy
    select id,name
    from person
    where type='boy'
    通过insert .... select ...语句,select的结果会被直接插入表boy中,并且每个插入操作都会被记录到事务日志之中。

      二、Sybase还提供了一种"select ... into"语句实现类似功能

      select into from 语句,该语法形式为:SELECT value1, value2 into Table2 from Table1。

      这里要求的是MyTable1不存在,因为在插入的时候,系统会自动创建MyTable1,如果之前MyTable1已经被创建,执行时会报错,系统就会提示已经存在表。

      就是因为这个特性,就会给我们带来很多的方便,首先,我如果只想要MyTable2表中的ID列的话那我只需要将ID列select出来,然后加入到新表中即可。那如果我想要MyTable2中的Name列,那我也仅仅是需要把Name列select出来,然后添加到新表中即可。

    Oracle

     Oracle中insert into select和select into的用法(异常0RA-00905:missing keyword的解决) 
    两张表进行数据的拷贝,最常用的拷贝语句是:insert into select 和 select into from

    但是请绝对的注意:
    在Oracle中select into from不可以使用-----

      原因很简单:select into是PL/SQL language 的赋值语句!如果使用则Oracle会抛出0RA-00905:missing keyword的异常!
    但是可以用create table select代替该功能!

    -- PL/SQL language 中select into赋值语句的测试使用
    create or replace procedure test1_prod
    is
      aa varchar2(100);
    begin
      select t1.testname into aa from test1 t1 where id=1;
      dbms_output.put_line('t1.testname= '|| aa);
    end;

  • 相关阅读:
    RN组件的生命周期
    调试菜单
    React Native 之项目的启动
    React Native 之组件的定义
    Es6 之 const关键字
    2019年开发App记录
    upc-魔法石01字符串ab字符串变换问题——尺取
    中石油训练混合训练第七场
    魔法序列-upc
    MAX 的读书计划——dp
  • 原文地址:https://www.cnblogs.com/mylinux/p/4992244.html
Copyright © 2011-2022 走看看