Rturning 列名|值 [bulk collect] into variable_name|collect_variable_name[,......]

SQL> Declare

2    vID Number;
  3    vNM Varchar2(20);
  4    Type t_stu Is Table Of stu%Rowtype;
  5    v_stu t_stu;
  6    i Number;
  7  Begin
  8    dbms_output.put_line('*******insert*******');
  9    I nsert Into stu Values(1,'张三') Returning Id,nm Into vID,vNM;
 10    dbms_output.put_line('ID:'||vID||' NM:'||vNM);
 11    Insert Into stu Values(2,'李四') Returning Id,nm Into vID,vNM;
 12    dbms_output.put_line('ID:'||vID||' NM:'||vNM);
 13    dbms_output.put_line('*******update*******');
 14     Update stu Set nm=nm||'a' Returning Id,nm Bulk Collect Into v_stu;
 15    For i In v_stu.first .. v_stu.last Loop
 16        dbms_output.put_line('ID:'||v_stu(i).id||' NM:'||v_stu(i).nm);
 17    End Loop update结果输出;
 18    dbms_output.put_line('*******delete*******');
 19     Delete stu Returning Id,nm Bulk Collect Into v_stu;
 20      For i In v_stu.first .. v_stu.last Loop
 21        dbms_output.put_line('ID:'||v_stu(i).id||' NM:'||v_stu(i).nm);
 22    End Loop delete结果输出;
 23    Rollback;
 24  End;
 25  /
*******insert*******
ID:1 NM:张三
ID:2 NM:李四
*******update*******
ID:1 NM:张三a
ID:2 NM:李四a
*******delete*******
ID:1 NM:张三a
ID:2 NM:李四a
PL/SQL procedure successfully completed

SQL> 
SQL> Declare
  2    vID Number;
  3    vNM Varchar2(20);
  4  Begin
  5     Insert Into stu Select 1,'张三' From dual Returning Id,nm Into vID,vNM;(不支持)
  6    dbms_output.put_line('ID:'||vID||' NM:'||vNM);
  7    Rollback;
  8  End;
  9  /
Declare
  vID Number;
  vNM Varchar2(20);
Begin
  Insert Into stu Select 1,'张三' From dual Returning Id,nm Into vID,vNM;
  dbms_output.put_line('ID:'||vID||' NM:'||vNM);
  Rollback;
End;
ORA-06550: 第 5 行, 第 55 列: 
PL/SQL: ORA-00933: SQL 命令未正确结束
ORA-06550: 第 5 行, 第 3 列: 
PL/SQL: SQL Statement ignored

SQL> 
SQL> Declare
  2    vID Number;
  3  Begin
  4    Merge Into stu a Using(Select Level As Id From dual Connect By Level<=1) b On(a.id=b.id)
  5    When Not Matched Then
  6         Insert (Id) Values(b.id) Returning Id Bulk Collect Into vID ;(不支持)

  7  End;
  8  /
Declare
  vID Number;
Begin
  Merge Into stu a Using(Select Level As Id From dual Connect By Level<=1) b On(a.id=b.id)
  When Not Matched Then
       Insert (Id) Values(b.id) Returning Id Bulk Collect Into vID ;
End;
ORA-06550: 第 6 行, 第 43 列: 
PL/SQL: ORA-00933: SQL 命令未正确结束
ORA-06550: 第 4 行, 第 3 列: 
PL/SQL: SQL Statement ignored

SQL>

DML语句的Returning...Into...相关推荐

  1. oracle output语句,Oracle Returning 语句用法总结

    场景 在存储过程.PL/SQL块里需要返回INSERT.DELETE.UPDATE.MERGE等DML语句执行后的信息时使用,合理使用returning能够简化程序逻辑.提高程序性能. 概述 创建测试 ...

  2. 使用DML语句【weber出品必属精品】

    DML语句包含以下语法: INSERT:往一个表中增加新行 DELETE:从一个表中删除掉现有的行 UPDATE:更改一个表中现有的行 INSERT语句 语法:INSERT INTO TABLE(CO ...

  3. oracle和mysql查询_ORACLE 数据库 查询语句与DML语句

    一.查询语句 ORACLE 数据库中获得数据表中的结果,称为查询语句,其关键词是 select(下面其所有的示例均为scott模式下的对象) 1.1 查询语句基础 1.1.1 获得表中全部字段与结果 ...

  4. mysql的dml语句_Mysql基础入门-SQL_DML语句

    DML语句: DML操作是指对数据库中的表进行操作,主要包括记录的插入(insert),更新(update),删除(delete),查询(select). 记录插入 创建表完成后就需要给器插入记录和数 ...

  5. mysql dml_详解MySQL---DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  6. SQL基础使用入门(二): DML语句和DCL语句

    SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...

  7. PHP学习总结(数据库概念、DDL语句、DML语句)

    自从做完一个简单的登陆注册页面,发现数据库知识真的很重要,所以要详细的学习一下数据库的知识. 一.数据库基本概念 数据库可以理解为用来存储信息的仓库 表:表是数据的矩阵,在一个数据库中的表看起来像一个 ...

  8. c#操作mysql 执行语句_c# 数据库编程(通过SqlCommand 执行DML语句)

    原来一直是java,python等语言,最近用c#语言,并编写数据库访问代码.使用了之后,这里总结下,分享下c#如何操作数据库. 在java等其它语言中,有一套标准的api来完成数据库访问,并且一般都 ...

  9. MySQL基础之DML语句

    DML语句 DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert),更新(update),删除(delete)和查询(select),是开发人员日常使用最频繁的操作. 插入记录 表 ...

最新文章

  1. ROS系统——roslaunch发布4个realsense相机的4种方法
  2. ASP.NET 2.0 读取配置文件[INI](示例代码下载)
  3. Hexo 个人博客 SEO 优化(3):改造你的博客,提升搜索引擎排名
  4. Tomcat 内存与优化篇
  5. unity 手机 模糊效果_GUI背景模糊效果优化
  6. 我们边吃曲奇边聊——Cookie与Session那些事
  7. 豆瓣评分9.3的经典Kubernetes图书推出中文版,学习K8S更方便了
  8. 数据库连接池Spring JDBC(JdbcTemplate)
  9. zemax---窗口整体布局篇
  10. JS中什么是回调函数?
  11. 蓝桥杯历届试题-回文数字
  12. cold diffusion的个人理解
  13. MAC通过HDMI转VGA转接头连接显示器
  14. 如何旋转PDF文件页面,一分钟教你学会
  15. 智能测试实践之路-UI 缺陷检测
  16. 解决Chromedriver报错Original error: chrome not reachable
  17. web前端html+css实现立体旋转相册(表白可用)
  18. oracle执行语句出无效字符,pl/sql动态执行sql语句时报错:ORA-00911: 无效字符 ORA-06512: 在 line 14...
  19. PLC通讯实现-C#实现西门子PLC串口通讯W95_S7(四)
  20. RT-Thread Studio中ST-LINK下载报错“Old ST-LINK firmware version“解决

热门文章

  1. 群处守住嘴,独处守住心
  2. 熊猫烧香被恶搞 网友爆笑诗词句大集合(转)
  3. android 动态设置margin,Android 动态设置padding跟margin的问题
  4. python语言脑图学习系列(11-1)-Python3+集合 内置方法11-1
  5. python怎么读取png_png文件python读取
  6. 驭势导读 | 通往深度学习之路,“杀鸡焉用宰牛刀”?
  7. php 文件上传mime 类型,php文件上传类型(MIME)对照表
  8. ceph源码分析--Monitor paxos算法
  9. 数据中心大变革时代,华为引领了怎样的技术趋势?
  10. com.android.support:multidex,Android 使用android-support-multidex解决Dex超出方法数的限制问题...