zoukankan      html  css  js  c++  java
  • 执行Oracle的insert或update语句时同时返回插入或更新后的字段值

    执行Oracle的insert或update语句时同时返回插入或更新后的字段值

      出处: http://wxy0327.itpub.net/post/16888/94033 

        这是一个很有用并常用的语法,可以少一次查询。

    insert:

    CREATE SEQUENCE seq_emp;
    SET SERVEROUTPUT ON
    DECLARE   x emp.empno%TYPE; BEGIN   INSERT INTO emp   (empno, ename)   VALUES   (seq_emp.NEXTVAL, 'Morgan')   RETURNING empno   INTO x;
      dbms_output.put_line(x); END; /
    DECLARE   x urowid; BEGIN   INSERT INTO emp   (empno, ename)   VALUES   (seq_emp.NEXTVAL, 'Morgan')   RETURNING rowid   INTO x;
      dbms_output.put_line(x); END; /

     

    update:

    conn hr/hr
      var bnd1 NUMBER   var bnd2 VARCHAR2(30)   var bnd3 NUMBER
      UPDATE employees   SET job_id ='SA_MAN', salary = salary + 1000, department_id = 140   WHERE last_name = 'Jones'   RETURNING salary*0.25, last_name, department_id   INTO :bnd1, :bnd2, :bnd3;
      print bnd1   print bnd2   print bnd3 conn hr/hr
      variable bnd1 NUMBER
      UPDATE employees   SET salary = salary * 1.1   WHERE department_id = 100   RETURNING SUM(salary) INTO :bnd1;
      print bnd1

  • 相关阅读:
    ceph概述
    docker网络
    ceph部署
    K8s集群搭建(二)
    K8s架构
    K8s集群搭建(一)
    Kubernetes介绍
    虚拟化网络管理(二)
    virt-manager创建虚拟机
    C#中TransactionScope的使用方法和原理
  • 原文地址:https://www.cnblogs.com/simbadan/p/2725620.html
Copyright © 2011-2022 走看看