ORA-14551是Oracle数据库中的一个错误代码,表示无法在查询中执行DML操作。DML操作指的是数据操纵语言(Data Manipulation Language),包括插入(INSERT)、更新(UPDATE)、删除(DELETE)等操作。 这个错误通常出现在使用查询语句时,但查询语句中包含了DML操作。Oracle数据库的查询语句主要是用于检索数据,而不是修改数据。因此,...
ORA-14551 错误表示“无法在查询中执行 DML 操作”,即在执行一个包含数据查询(如 SELECT 语句)的同时,尝试在同一个逻辑单元(如 PL/SQL 块、触发器或函数)中执行数据操作语言(DML,如 INSERT、UPDATE、DELETE)语句,而这是不被允许的。 可能导致ORA-14551错误出现的常见情况 在触发器中同时包含 SELECT 和 DML 操...
ORA-14551: 无法在查询中执行 DML 操作 ORA-06512: 在 "NSTCSA.NS_ST_GETRAISEFUNDX", line 29 增加下面的字符串: PRAGMA AUTONOMOUS_TRANSACTION; 数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在Oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存...
解决方法 在声明函数之前加上pragma autonomous_transaction ,在执行DML语句后Commit; 经过如上修改后的函数如下 createorreplacefunctionfun_DxcBillSn(tabTypeinteger,tabNamevarchar2,fieldStrvarchar2)returnintegeris--开启自治事务(解决Oracle ORA-14551: 无法在查询中执行 DML 操作的问题)--pragma autonomous_transacti...
ORA-14551: 无法在查询中执行 DML 操作ORA-06512: 在 "WGB.RAISE_SAL", line 8 --加上PRAGMA AUTONOMOUS_TRANSACTION和COMMIT。SQL> CREATE OR REPLACE FUNCTION raise_sal 2 RETURN NUMBER 3 IS 4 PRAGMA AUTONOMOUS_TRANSACTION; 5 v_num NUMBER:=0; 6 v_avg emp.sal%TYPE; 7 BEGIN 8 SELECT AVG(...
PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决 环境 Oracle 11.2.0 + SQL Plus 问题 根据以下要求编写函数:将scott.emp表中工资低于平均工资的职工工资加上200,并返回修改了工资的总人数。PL/SQL中有更新的操作,执行此函数报如下错误:ORA-16551: 无法在查询中执行 DML 操作。
在 Oracle 中单引 AS 'XXX’ 是错误的,需要修改为双引 "XXX" 或者是干脆去掉 '' 错误写法: select t.user_name as 'name'... niceyoo 0 7864 DML以及数据库事务 2019-12-11 16:33 − 主要内容: insert update delete &... 下饭 0 309 < 1 2 3 > 2004 - 2024 博客园·园荐 意见反馈 ...
最近在调试一个带DML操作的函数时,一直不成功,在PL/SQL中测试时没问题,通过 SQL语句调用函数时就不行了,刚开始一直没找到原因,后来无意间把 函数中捕获异常的代码注释掉,终于通过SQL调试时,弹出了一个“ORA-14551: 无法在查询中执行 DML 操作 .”错误,找到了问题原因,就好找解决办法了,在网上找到一篇文章,大...
另一个是按照指定的ID从应用系统中读出来Item和BP,从而调用第一个Function返回真正的BlockingReason,在...
如何绕过“ora-14551 无法在查询中执行DML操作”动态和/或私有端口(Dynamic and/or Private Ports):端口号从49152到65535。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端口,因为这些端口常常不被引起注意,容易隐蔽。如果根据所提供的服务...