这是一个愚蠢的问题,但我似乎无法解决。 我有一个查询在OCI程序中引起麻烦,因此我想在SQL * Plus中手动运行它以检查是否有任何区别。 这是查询:

select e.label as doc_name,

e.url,

i.item_id,

'multi' as form_type

from cr_items i, cr_extlinks e

where i.parent_id = :comment_id

and e.extlink_id = i.item_id

UNION

select null as doc_name,

utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(r.content, 2000, 1)) as url,

r.item_id,

'single' as form_type

from cr_revisions r

where r.revision_id = ( select content_item.get_latest_revision(:comment_id) from dual);

end;

我想将comment_id绑定到值3052753,所以我做了以下工作:

DECLARE

comment_id number := 3052753;

BEGIN

select e.label ,

e.url,

i.item_id,

'multi'

from cr_items i, cr_extlinks e

where i.parent_id = :comment_id

and e.extlink_id = i.item_id

UNION

select null ,

utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(r.content, 2000, 1)) as url,

r.item_id,

'single'

from cr_revisions r

where r.revision_id = ( select content_item.get_latest_revision(:comment_id) from dual);

END;

/

这给出了这个错误:

ORA-06550: line 4, column 1:

PLS-00428: an INTO clause is expected in this SELECT statement

现在,我已经很不高兴了,因为我不想从根本上更改此查询,但是无论如何我都会努力并提出这个建议(INTO和UNION并不太顺利):

DECLARE

comment_id number := 3052753;

x_label VARCHAR2(50);

x_url VARCHAR2(500);

x_item number;

x_thing VARCHAR2(50);

BEGIN

select label, url, item_id, thing into x_label, x_url, x_item, x_thing from (

select e.label ,

e.url,

i.item_id,

'multi' as thing

from cr_items i, cr_extlinks e

where i.parent_id = :comment_id

and e.extlink_id = i.item_id

UNION

select null ,

utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(r.content, 2000, 1)) as url,

r.item_id,

'single' as thing

from cr_revisions r

where r.revision_id = ( select content_item.get_latest_revision(:comment_id) from dual)) ;

END;

/

但是现在,当然,因为我要返回的行多于1行,所以我完全可以预测

ORA-01422: exact fetch returns more than requested number of rows

现在,我可以继续使用游标等了,但是我的小查询越来越偏离它的原始自我了。 我要做的就是检查查询是否以该comment_id值正常运行。 当然,我可以将comment_id硬编码到查询中,并且工作正常。 但是它在OCI中也可以正常工作,因此我将在SQL * PL中重现该问题以及在OCI代码中看到的绑定变量。 但是,为什么要在SQL * Plus中做到这一点却如此艰难呢? 我是否错过了一些显而易见的事情?

数据库是Oracle 10.2.0.1.0-64位在Red Hat Enterprise Linux ES版本4(Nahant Update 8)上运行

oracle绑定变量过多,oracle - 在SQL Plus中使用绑定变量并返回多行? - 堆栈内存溢出...相关推荐

  1. oracle颜色,oracle - Oracle SQL Developer - 如何使用颜色显示百分比(非数字) - 堆栈内存溢出...

    我提供了另一个示例,简化了如何使用0到100的基本百分比,而不使用阈值选项. WITH fake_data AS ( SELECT 20 AS perc, 1001 AS entity FROM du ...

  2. mysql 生明变量_在 MySQL 的 SQL 文件中,定义变量与使用变量

    1.现阶段存在一个新需求,需要在部署产品时,针对产品做一些初始化数据的工作.预先准备好相应的 SQL 文件.由于需要执行多条 SQL 语句,且后续的 SQL 语句依赖于之前的 SQL 语句生成的主键 ...

  3. SQL Server中的表变量

    In this article, we will explore the table variable in SQL Server with various examples and we will ...

  4. 在SQL存储过程中给条件变量加上单引号

    在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL) set @wher ...

  5. oracle java 绑定变量的值_Oracle SQL调优之绑定变量用法简介

    最近在看<基于Oracle的SQL优化一书>,并做了笔记,作者的个人博客:http://www.dbsnake.net/ @ 一.SQL执行过程简介 继上一篇博客Oracle的cursor ...

  6. 【C# .NET】Oracle数据库连接的坑之传入parameters参数名SQL语句中的参数变量名不匹配(顺序不一致)的问题

    问题描述 有一个user表,需要修改id为10086的用户的姓名和年龄,在C#的后台这样写: using (IDbConnection db = DapperFactory.GetConnection ...

  7. datagrip 导出 Oracle 数据库结构和数据到sql脚本中

    文章目录 1. 问题描述 2. 数据库右键 -- 仅对 MySQL 和 PostgreSQL 有效 1. MySQL 备份 -- mysqldump 2. PostgreSQL 备份 -- pgdum ...

  8. oracle rfs进程过多,Oracle物理备库RFS进程消失,不能启动--解决

    今天在测试Oracle环境上做热备,发现RFS进程不存在,做了如下操作后,还是不行: 1.拷贝主库的密码文件到备库 2.重启备库,也重启了主库,并alter system switch logfile ...

  9. oracle不使用游标,oracle – 为什么我们不能在动态SQL语句中使用强引用游标?

    这是一个带有强类型引用游标的过程: SQL> create or replace procedure p1 is 2 type dept_rc is ref cursor return dept ...

最新文章

  1. Linux-CentOS 重置root密码
  2. RxSwift之深入解析如何创建观察者Observer
  3. [蓝桥杯][算法提高VIP]聪明的美食家-dp
  4. 查看Full GC方法:1,jconsel:2,linux 命令: jstat -gcutil id 4s 10003,linux 命令(前提有.gc日志):c
  5. 王者归来!华为P40 Pro渲染图曝光:后置矩阵徕卡五摄模组
  6. XJOI网上同步训练DAY6 T2
  7. html5 手机上传视频,【报Bug】手机h5端收不到选择视频以及上传视频回调
  8. eth0: ERROR while getting interface flags: No such device
  9. c语言——约瑟夫环(数组)
  10. 我的vscode插件和setting设置(解决vscode保存出现提示运行“XXX“的保存参与者: 快速修复“的问题;二来修复“明明开启的是去分号和单引号,自动保存又自动添加了分号和双引号)
  11. This dependency was not found: * common/stylus/index.styl in ./src/main.js
  12. java 模板模式_java设计模式之模板方法模式详解
  13. WinForm中新开一个线程操作窗体上的控件(跨线程操作控件)GOOD
  14. PowerManager深入分析
  15. 知乎高赞:无人驾驶什么时候才会凉凉,估计还要多久?
  16. 【过了】系统分析师考试心得
  17. redis数据结构及其应用场景
  18. Axure9中点击变颜色、形状等样式操作
  19. 2015年江苏省信息与未来小学生编程思维展示活动试题--加数
  20. 记录自己激光打眼手术过程

热门文章

  1. .NET Core / C# 开发 IOT 嵌入式设备的个人见解
  2. .net core上 K8S(七).netcore程序的服务发现
  3. CentOS ASP.NET Core Runtime Jexus跨平台布署
  4. .Net思想篇:为何我们需要思想大洗礼?
  5. SCF: 简单配置门面
  6. C#使用Xamarin开发可移植移动应用进阶篇(10.综合演练,来一份增删改查CRUD)
  7. SQL Server 2017 RC1 现已实现 Linux 功能扩展
  8. 塑造Visual Studio的未来
  9. 与微软.NET创始人Scott Guthrie面对面,“红衣教主”亲身传授推动成功转型的洪荒之力
  10. 02.CSS基础笔记及导入