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

这是一个愚蠢的问题,但我似乎无法解决。 我有一个查询在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)上运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArrayPool 源码解读之 byte[] 也能池化?

一:背景 1. 讲故事最近在分析一个 dump 的过程中发现其在 gen2 和 LOH 上有不少size较大的free,仔细看了下,这些free生前大多都是模板引擎生成的html片段的byte[]数组,当然这篇我不是来分析dump的,而是来聊一下&#x…

本地环境和测试环境搭建

1.wampserver(可兼容后端php) 2.tomcate 3.edp webserver(百度内部) 4.fiddle重定向(可以把在线的网页直接接入本地的代码进行替换看效果)转载于:https://www.cnblogs.com/cjy1993/p/4097123.html

为什么有些人从不点开朋友圈?

全世界只有3.14 % 的人关注了爆炸吧知识真正决定人与人之间的差距的,其实是我们对事物的见识与内心的格局,见识的深浅决定人生的深浅,格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号,希望能够给你带…

wxPython:登录工具

最近一直在学习Python的基础和一些常用的模块,现在该是付诸实践的时候了。 我打算做的第一个小工具是利用wxPython来创建一个登录小工具,这主要是减轻自己日常工作中的一些负担。具体需求是这样的,在出现工具的UI之后,用户可以选择…

微信 小程序 python 渲染_微信小程序渲染html内容

最近又做了一个新的小程序关于物流订单查询欢迎来体验遇到了一个小问题:数据中返回电话号码的字符串识别出来并且高亮和可以绑定事件。比如数据中包含您的派送员黄xx正在派件,电话:137xxxx41460已经在派送。其中就要识别出137xxxx41460并且绑…

淘宝一淘网收录部分垂直B2C网站信息

12月23日下午消息,淘宝旗下一淘网搜索近日悄然收录当当、红孩子等垂直B2C网站的折扣信息,网友可轻松在外部垂直B2C网站和淘宝站内商家间做出对比和选择。 之前有消息称,淘宝网已经通过站内搜索中的“导购”功能已经实现了与一淘的互通&#…

shell oracle查询数组,shell 脚本 ---数组

数组的定义:所谓数组,就是相同数据类型的元素按一定顺序的集合,就是把有限个类型相同的变量用一个名字命令,也就是说这些变量被定义成数组之后,它们就不在有自己的名字了,那么我们怎么找到各个变量或者元素…

Dockerfile 使用 ARG 参数实现构建模板

Dockerfile 使用 ARG 参数实现构建模板IntroDockerfile 里用来表示变量的主要有两个东西,一个是 ENV 代表了环境变量,另外一个则是 ARG 代表是构建 docker 镜像时的一个构建参数,需要在执行 docker build 命令时指定变量的值,最近…

关于更换液晶屏(LCD)后“输入不支援”的一种解决方案

今天新装了一台监控主机,一切调试完毕之后就装箱了。没想到拿到客户那里之后却出现了一个小小的问题,XP进度条跳过之后显示器出现“输入不支援”,反复重启之后仍然无法解决,自己在公司刚刚调试好了的呀,哦想起来了&…

python 数据驱动接口自动化框架_python接口自动化测试 - 数据驱动DDT模块的简单使用...

DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数据发生大量变化的情况下…

【知识分享】异步调用与多线程的区别

随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想探讨一下如何使用并发来最大化程序的性能。 多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞…

华人AI界痛失“一代宗师”,计算机视觉之父黄煦涛教授去世

全世界只有3.14 % 的人关注了爆炸吧知识美东时间2020年4月25日夜间,华人计算机视觉一代宗师,黄煦涛教授(Thomas S. Huang)在美国印第安纳州逝世,享年 84 岁。由于他在图像处理、模式识别等计算机视觉领域作出的开创性贡…

oracle 参照完整性,Oracle中用表外键来保证系统参照完整性

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle中表的外键是保证系统参照完整性的手段,而参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系。外键涉及到两个表,其中一个称之为父项表,另一个…

关于数据仓库 — 总体工具介绍

数据仓库项目是以关系数据库为依托,以数据仓库理论为指导、以 OLAP为多层次多视角分析,以 ETL工具进行数据集成、整合、清洗、加载转换,以前端工具进行前端报表展现浏览,以反复叠代验证为生命周期的综合处理过程。最终目标是为了达…

你好,同学!在云端学习最潮的技术吧!

开学季大礼包9月开学了,作为学生的你,有想过在这个数字化年代,学最cool的技术吗?人工智能,物联网,云计算,还有区块链这些互联网产物影响着你的生活,也影响着你将来的职业发展。不论你…

seo关键词互点软件报价_SEO关键词优化收费问题和外包报价问题,一文详解

在竞争日益激烈的市场环境中,企业为了在互联网平台中获得较好的排名,以及实现产品的较好变现,大多数都是使用SEO搜索引擎,因为通过优化关键词可以不断地为用户创造“用户最想得到的”“最匹配”搜索结果,在快速找到心仪…

15张令人震撼的物理动图,看完惊呆了!

全世界只有3.14 % 的人关注了爆炸吧知识比抖音还上瘾看了会让人上瘾的物理动图,赶紧给家里的孩子看看吧,绝对让他开拓眼界,脑洞大开。1.有弹性的岩浆2.高速转动时,因向心力不足而被撕开的的CD(慢镜头)3.震荡…

linux目录结果说明,Linux目录结构及文件说明

Linux中所有文件都是从(/)根开始的,下面是典型的Linux目录结构说明:/:根目录/bin: binary 主要用来存放可执行文件/sbin: super bin 存放系统管理程序,通常只有管理员才有权限使用/boot: 存放内…

Java wait notify

2019独角兽企业重金招聘Python工程师标准>>> Java wait && notify ‍wait、notify和notifyAll方法是Object类的final native方法,所以这些方法不能被子类重写。 方法 notifyAll() Wakes up all threads that are waiting on this objects monito…