首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在PL/SQL过程中提交后无法找到数据?

在PL/SQL过程中提交后无法找到数据,可能是因为数据没有正确提交或者没有正确查询。以下是一些建议和可能的原因:

  1. 确保在PL/SQL过程中使用COMMIT语句提交数据。COMMIT语句将数据更改保存到数据库中,以便其他用户可以看到更改。如果没有使用COMMIT语句,则数据更改只会在当前会话中保存,其他会话将无法看到这些更改。
  2. 确保在查询数据时使用正确的查询语句。如果查询语句不正确,则可能无法找到数据。可以使用SELECT语句查询数据,并确保使用正确的表名、列名和条件。
  3. 确保在PL/SQL过程中使用正确的变量和参数。如果使用了错误的变量或参数,则可能无法找到数据。
  4. 确保在PL/SQL过程中使用正确的异常处理。如果在PL/SQL过程中发生异常,则可能无法找到数据。可以使用EXCEPTION语句处理异常,并确保正确处理异常情况。
  5. 确保在PL/SQL过程中使用正确的游标。如果使用了错误的游标,则可能无法找到数据。可以使用CURSOR语句定义游标,并确保正确打开、关闭和使用游标。

如果仍然无法找到数据,则可能需要进一步调试PL/SQL过程,以确定问题所在。可以使用DBMS_OUTPUT.PUT_LINE语句输出变量和参数的值,以确定它们是否正确。也可以使用调试器来调试PL/SQL过程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • plsql developer配置数据库连接_plsql使用教程

    PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。...针对32位的数据库:这个比64位的就简单多了,只需要一个PL/SQL工具即可,再最后配置(这个配置就是需要使用到一个tnsnames.ora文件,该文件需要和oracle数据库文件相同,不然无法进行连接.../SQL Developer,不用登陆直接点取消进入PL/SQL Developer主界面,然后找到工具——首选项——连接: 填写:Oracle主目录名:c:instantclient OCI库:...c:instantclientoci.dll d、设置好关闭PL/SQL Developer,重新打开,这次显示的登录界面中可以匹配到数据库等:用户名可以是默认的system,密码和数据库是之前安装...—————————————————- SIMPLIFIED CHINESE_CHINA.ZHS16GBK 3.客户端连接oracle数据库及服务 环境变量配置依然无法正常登陆,而且搜索不到数据库,这是因为这个时候客户端没有关联

    6.1K30

    ORA-1555经典的错误

    语句一直处于等待状态(超过一天),直到资源锁释放,但此时由于开始存放于UNDO中的前镜像超过UNDO_RETENTION参数设置的时间,且这是高并发的一个系统,很快可能就会被应用session覆盖UNDO中的记录,导致无法找到...UNDO用于记录DML操作数据的前镜像,ORA-1555的错误简单用一句话总结,我觉得就是当DML语句需要用UNDO记录的数据找到前镜像时,该记录已经被覆盖,导致无法利用UNDO中的记录完成一致性读。...一个语句在读取数据快时,如果发现这个数据块是它读取的过程中被修改的(即开始执行读操作时并没有被修改),就不直接从数据块上读取数据,而是从相应的回滚段条目中读取数据。...DELETE语句报的ORA-1555,且这个夜维比较特殊的地方就是他是若干条(22条)DELETE语句一个事务中,即都执行完成才一次COMMIT,这样无形当中增加了事务的复杂度,但凡其中一条语句等待...,则其他语句就无法提交,也只能等待,虽然这是由业务决定的,但这种情况还是应该避免,当然这是另一个话题了。

    93820

    Oracle-Soft ParseHard ParseSoft Soft Parse解读

    概述 Oracle中存在两种类型的SQL语句: 一类为 DDL语句(数据定义语言)CREATE,DROP,ALTER,他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。...通过如上检查以后,如果SQL语句是一致的,那么就会重用原有SQL语句的执行计划和优化方案,也就是我们通常所说的软解析。如果SQL语句没有找到同样的副本,那么就需要进行硬解析了。...Oracle根据提交SQL语句再查询相应的数据对象是否有统计信息。...当进程申请到闩,则这些闩用于保护共享内存的数同一时刻不会被两个以上的进程修改。 硬解析时,需要申请闩的使用,而闩的数量在有限的情况下需要等待。...当一个Client提交一条Sql给Oracle,Oracle 首先会对其进行解析(Parse),然后将解析结果提交给优化器(Optimiser)来进行优化而取得Oracle认为的最优的Query Plan

    2.2K20

    事务前沿研究 | 隔离级别的追溯与究明,带你读懂 TiDB 的隔离级别(下篇)

    找到位置。...乐观锁与悲观锁 乐观锁和悲观锁是两种加锁技术,对应了乐观事务模型和悲观事务模型,乐观锁会在事务提交时检查事务能否成功提交,“first-committer-wins” 的策略会让提交的冲突事务失败,TiDB...就算在无冲突的情况下,悲观锁也会增加事务执行过程中每个操作的延迟,这一点增加了事务执行过程中的开销,而悲观锁则确保了事务提交时不会因为 write conflict 而失败,增加了事务提交的成功率,避免了清理失败事务的额外开销...例 10 给出了在混合使用情况下,当前读影响快照读的例子,按照快照读和当前读的行为定义,快照读是不能看到事务开始新插入的数据的,而当前读可以看到,但是当当前读对这行数据进行修改之后,这行数据就变为了“...一致性读要求读取操作要读到相同的内容,图 6 是读不一致的例子,一个读请求发生的过程中,发生了另一个事务的写入,对 x 和 y 读到了不同时刻的数据,破坏了 x + y = 100 的约束,出现了一致性问题

    64100

    oracle commit详解

    前面我提高过,由于某种原因,我们用的是一个Java程序而不是PL/SQL,这个原因就是 PL/SQL提供了提交时优化(commit-time optimization)。...Oracle 10g Release 1及以前版本中,除PL/SQL以外的所有编程语言都是如此。...PL/SQL引擎不同,要认识到直到PL/SQL例程完成之前,客户并不知道这个PL /SQL例程中是否发生了COMMIT,所以PL/SQL引擎完成的是异步提交。...它不会等待LGWR完成;相反,PL/SQL引擎会从COMMIT调用立即返回。不过,等到PL/SQL例程完成,我们从数据库返回客户时,PL/SQL例程则要等待LGWR完成所有尚未完成的COMMIT。...因此,如果在PL /SQL提交了100次,然后返回客户,会发现由于存在这种优化,你只会等待LGWR一次,而不是100次。这是不是说可以PL/SQL中频繁地提交呢?这是一个很好或者不错的主意吗?

    1.6K90

    Oracle中,LogMiner是什么?其有哪些用途?请简述LogMiner的使用过程。

    特别是该工具可以分析出所有对于数据库的DML操作(INSERT、UPDATE、DELETE等)语句。Oracle 9i可以分析DDL语句,另外还可分析得到一些必要的回滚SQL语句。...若要使普通用户具有日志挖掘的权限,则可以执行如下的SQL进行赋权: GRANT EXECUTE ON DBMS_LOGMNR TO LHR_TEST; 脚本执行完毕,LogMiner包含两个PL/...确保创建Flat File文件的过程中,不能有DDL操作被执行。...除了可以分析联机Redo日志外,还可以和产生归档日志文件相同的系统上分析归档日志文件。然而,记住联机目录只能重建应用于表的最新版本上的SQL语句。一旦表被修改,联机目录就无法反映出表之前的版本。...(四)过滤LogMiner返回的数据 可以使用COMMITTED_DATA_ONLY参数来只显示那些被提交的事务: SQL> EXEC DBMS_LOGMNR.START_LOGMNR(OPTIONS=

    50510

    亚信安慧AntDB-M 只读事务提交优化

    一、事务操作介绍数据库系统一般有三种开启和提交事务方法:配置autocommit=1时,隐式开启事务,每执行一条DML的SQL语句,数据库系统会隐式的自动执行commit逻辑提交事务,不需要用户输入commit...事务开启和提交过程中执行的DML的SQL语句,申请到的表意向锁资源,根据2PL协议会一直持有直到事务提交或回滚才会释放。...,DDL请求会等待超时失败;如果开启事务和执行DML语句发生在备副本上,这时DDL语句主副本上是成功的,DDL语句通过复制协议同步到备副本上执行,会等待锁超时失败,导致后续通过复制协议同步过来数据无法继续应用到备副本上...如图1所示,set allow_readonly_autocommit=off,关闭只读事务提交优化,只读SELECT操作没有提交事务时会保留一把表意向锁,提交锁释放掉。...如图2所示,set allow_readonly_autocommit=on,开启只读事务提交优化,只读SELECT操作事务未提交时也不会持有表意向锁,UPDATE写操作的只读SELECT操作不会释放锁

    12010

    PLSQL和SQLPLUS查询结果不一样——千万别忘记commit !

    只查询到一条记录,你没看错,同样的用户,同样的sql语句,同样的时间,PL/SQL和SQLPLUS中的查询结果不一样。于是不甘心啊,又开了n个sqlplus窗口,执行结果都是只查询到一条记录。...于是回想到问题多半就出在那个查询到6条数据PL/SQLsql窗口了。这时发现在它里面执行查询select * from t_user;之前,还曾插入了5条记录: ?        ...原来,与之前用过的SQL Server和MySQL有所不同,操作oracle时,对数据进行了操作,这些操作都只是提交到了内存,并没更新物理文件,最后如果需要更新到物理文件,需要执行commit命令。...这时,在这个插入5条数据sql窗口中执行commit命令,数据就真正意义上的插入到数据库物理文件中了!        ...所以,oracle中,只要是数据库进行了使数据改变的操作(增、删、改等),都需要执行commit命令将更新提交数据库的物理文件,否则前面所做的操作都是徒劳的。

    1.6K20

    PLSQL和SQLPLUS查询结果不一样——千万别忘记commit

    今天PLSQL的SQL Window中执行了一个查询select * from t_user;  查询到6条记录:         后来为了方便测试其他的数据,打开了sqlplus,执行了相同的查询语句...,意外发生了:        只查询到一条记录,你没看错,同样的用户,同样的sql语句,同样的时间,PL/SQL和SQLPLUS中的查询结果不一样。...于是回想到问题多半就出在那个查询到6条数据PL/SQLsql窗口了。...这时发现在它里面执行查询select * from t_user;之前,还曾插入了5条记录        原来,与之前用过的SQL Server和MySQL有所不同,操作oracle时,对数据进行了操作...所以,oracle中,只要是数据库进行了使数据改变的操作(增、删、改等),都需要执行commit命令将更新提交数据库的物理文件,否则前面所做的操作都是徒劳的。

    88830

    精通Java事务编程(6)-可串行化隔离级别之真串行

    Web 上,这意味着事务同一个 HTTP 请求中被提交,而不会跨越多个请求。一个新的 HTTP 请求就开始一个新事务。...应用程序提交查询,读取结果,可能根据第一个查询的结果进行另一个查询,依此类推。查询和结果在应用程序代码(一台机器上运行)和数据库服务器(另一台机器上)之间来回发送。...3.1.2 存储过程的优缺点 存储过程关系型DB已存在一段时间,自 1999 年以来一直是 SQL 标准(SQL/PSM)一部分,但名声有点不好: 每个DB厂商都有自己的存储过程语言(Oracle的PL.../SQLSQL Server的T-SQL,PostgreSQL的PL/pgSQL 等)。...为伸缩至多个CPU核和多个节点,可对数据分区,VoltDB 支持这样做。若找到一种对数据集分区方法,以便每个事务只需单分区中读写数据,则每个分区就能拥有自己独立运行的事务处理线程。

    43230

    Oracle Time Model Statistics(时间模型统计)

    DB Time测量时间实例启动开始累积。由于DB时间是由所有非空闲用户会话的时间相结合来计算的,所以DB时间可能超过实例开始所经过的实际时间。...SQL 的解析所花费时间) 6.3 hard parse (sharing criteria) elapsed time (当无法SQL Cache 中找到一个已经存在的 cursor 的时候..., 所有硬解析所花费的时间) 6.4 hard parse (bind mismatch) elapsed time (当可以从 SQL Cache 找到一个已经存在的 curosr, 但是绑定变量不匹配的时候..., 所有硬解析花费的时间) PL/SQL execution elapsed time 所有花在执行 PL/SQL interpreter 的时间 (PL/SQL interpreter - 就是...the Java VM 上的时间 PL/SQL compilation elapsed time 所有花在 PL/SQL compiler 上的时间 . inbound PL/SQL rpc elapsed

    88120

    【DB笔试面试445】Oracle中的异常可以分为哪几类?

    (3)当异常处理结束,Oracle就将处理权交给调用者。结束PL/SQL块的运行。 Oracle将异常分为预定义异常、非预定义异常和自定义异常三种。...预定义异常用于处理常见的Oracle错误,对这种异常情况的处理,无需程序中定义,由Oracle自动将其触发。它们全部放在PL/SQL自带的标准包中,这样程序员就无需再次定义了。...; 15 DBMS_OUTPUT.PUT_LINE(SQLCODE || ',' || SQLERRM); 16 17 END; 18 / 没找到任何数据 PL/SQL procedure...使用预定义异常只能处理系统预定义的20多个Oracle错误,而当使用PL/SQL开发应用程序时,可能会遇到其它的一些Oracle错误。例如,PL/SQL块中执行DML语句时,违反了约束规定等等。...Oracle提供了2个函数SQLCODE和SQLERRM用于返回错误信息: l SQLCODE:返回错误代码 l SQLERRM:返回与错误代码关联的消息 这样就可以错误日志表中记录程序执行过程中发生的错误信息了

    1.8K10

    Postgresql源码(119)PLpgSQL中ExprContext的生命周期

    前言 PL/pgSQL语言中,执行任何SQL都需要通过SPI调用SQL层解析执行,例如在SQL层执行表达式的入口: static bool exec_eval_simple_expr(PLpgSQL_execstate...SQL层,ExprContext内存往往是挂在EState(SQL层的运行时)下的,PL也仿照SQL层做了一些事情,下面展开讲讲。...数据角度看PL中的ExprContext 例如在三层函数调用下,会产生三层PLpgSQL_execstate结构,代表PL的运行时。...所以PL中执行COMMI,所有子事务、顶层事务都会重建,EState上下文也会跟随释放,也需要重建。...PL中事务提交分两种情况 子事务提交:即exception子事务提交,这时顶层EState无需释放,只需要释放各层的ExprContext,这里通过simple_econtext_stack全局链表

    15510

    H2试镜记录-扮演ORACLE

    利用H2推广实施单元测试的过程中,遇到和解决了一些问题,在此记录一下。 项目背景 金融行业传统的业务系统,重度使用ORACLE 数据库,包括很多业务逻辑是采用存储过程(SP)实现的。...很明显,这个28个9的sequence是无法导入h2的 解决办法:和开发同学协商是否有必要用28个9。不行的化,退而求其次,测试环境下用不同的sql。...4 Web Console 与开发同学沟通的过程中,有开发同学指出,在他们的开发过程中,一般都是通过pl/sql等连接ORACLE数据库进行数据表的相关开发工作,这部分DDL/DML的操作也是开发的最后才作为版本的内容提交进代码库...由于最终的线上数据库还是Oracle,笔者还是建议开发人员通过PL/SQL连接ORACLE进行数据库相关的开发工作。需要变化的是,像随时提交代码一样,提交数据库的代码到代码库中。...多层嵌套临时表 H2推广的过程中发现,某些开发人员编写了特别复杂的SQL,尤其是重度使用临时表进行嵌套。当嵌套层数超过4层时,H2的不能支持了,虽然H2在其官方文档中表示其支持临时表。

    84410
    领券