今天客户打电话过来,说程序没有正常运行,收益率等数据没有计算出来.打开tomcat的日志发现,在执行一条insert语句时发生了null值的错误.经过一番跟踪和调试,终于找到闯祸的元凶--一个用来取得编号的函数,但是这个函数已经在很多客户处使用了,都没有错,为什么偏偏在这里出错了呢?在网上google一通后,才发现在对数据库有写操作(INSERT、UPDATE、DELETE、CREATE、ALTER、COMMIT)的函数,是无法简单的用SQL来调用的.这种错误通常发生在低版本的Oracel中.
原因找到了,解决起来就简单了.一般有2种解决方法:一、在函数外面套一个存储过程;二、使用自治事务(AUTONOMOUS TRANSACTION).第一种方法比较愚蠢且没有技术含量不太符合偶的审美观故pass.
第二种使用起来就很简单了:只需下列PL/SQL的声明部分加上PRAGMA AUTONOMOUS_TRANSACTION 就可以了.
果然加上这句话后一切OK,世界又太平了.
相关推荐
Win10下YOLOv8环境搭建避坑指南:从CUDA 11.6到cuDNN配置全流程
本文详细介绍了在Windows 10系统下搭建YOLOv8环境的完整流程,包括CUDA 11.6和cuDNN的配置步骤,以及常见问题的解决方案。通过硬件准备、软件安装、环境验证和性能优化等环节,帮助开发者高效完成YOLOv8环境配置,提升目标检测项目的开发效率。
ORA-14551: 无法在查询中执行 DML 操作
最近在执行一个函数时报一个错,“ORA-14551: 无法在查询中执行 DML 操作” ,“ORA-06512: 在 "LBX_CRM2018.GETLSHBYID", line 7”。经过研究后终于解决了问题。 分析:1、该函数是一个自动生成表唯一序列,编译过程没有什么报错现象。 2、执行 select GETLSHBYID('tt') from dual 时则报出了...
Glue)《Multi-omics single-cell data integration and regulatory inference with graph-linked embedding》
论文引入GLUE框架,通过知识引导图(guidance graph)显式建模跨层调控交互,桥接特征空间,实现准确、鲁棒、可扩展的整合。近年来,单细胞测序技术(如scATAC-seq用于染色质可及性、snmC-seq用于DNA甲基化、scRNA-seq用于转录组)允许同时探测多个组学层,揭示细胞异质性和调控机制。GLUE优于现有方法:桥接特征空间,避免信息丢失,支持多组学和调控推断。用于整合未配对的单细胞多组学数据(如scRNA-seq、scATAC-seq和snmC-seq),并同时进行调控交互推断。
Oracle中 “ORA-14551: 无法在查询中执行 DML 操作” 如何解决
在编写一个数据库函数时,方法实现需要查询后进行修改,出现ora-14551的错误 create or replace function fun_DxcBillSn(tabType integer,tabName varchar2,fieldStr varchar2)return integer is serialSn integer; maxVal integer; nowMo...
Colmap中 patchmatch源码
惊世骇俗的Colmap PatchMatch源码 500多行,简明易懂 先了解PatchMatch的options: max_image_size: 任一维度的最大图像尺寸 gpu_index: gpu的下标 depth_min,depth_max: 随机采样的深度范围 window_radius:用于计算NCC(两图片的归一化互相关),NCC的计算需要用到 win_size. 图像匹配 | NCC 归一化互相关损失 | 代码 + 讲解 - 知乎 (zhihu.com) window_step: 用.
AI编程助手Cursor如何革新经济学研究:从计量模型到可视化全流程实战
在数据科学和人工智能技术蓬勃发展的今天,如何高效地将前沿AI工具融入专业领域的研究工作流,成为提升科研效率的关键。其核心原理在于通过自然语言交互,将研究者的专业问题转化为机器可执行的指令,从而实现人机协作的范式转移。这一技术的核心价值在于大幅降低非计算机背景研究者的编程门槛,将精力从繁琐的代码实现中解放出来,更聚焦于学科本身的思想与逻辑。尤其在经济学、金融学等高度依赖数据分析和计量建模的领域,AI编程助手能够快速处理数据清洗、模型估计、可视化及结果解释等任务。具体到应用场景,研究者可以利用结构化提示词工程,
ORA-14551: 无法在查询中执行 DML 操作 解决方法
--创建测试表 create table fn_dml_test ( ID NUMBER(20), text VARCHAR2(200) ) --创建函数 CREATE OR REPLACE FUNCTION fn_test(ID NUMBER) RETURN NUMBER IS /* 14551, 00000, "cannot perform a DML o
【WorkBuddy专栏27】WorkBuddy 和 CodeBuddy 到底什么关系——一篇文章终结所有混淆
WorkBuddy 和 CodeBuddy 到底什么关系——一篇文章终结所有混淆
如何绕过“ora-14551 无法在查询中执行DML操作”
如创建以下程序: create or replace function FUN_GET_ETL_MSG return varchar2 is Result varchar2(200); cursor cur_row is select id, msg from (select t.* ,sum(lengthb(t.msg)) o
淘宝母婴用品数据挖掘及可视化分析研究
1. 背景介绍 在当今的电子商务时代,母婴用品市场已经成为了各大电商平台的一片蓝海。淘宝作为中国最大的电子商务平台,其上的母婴用品交易数据自然引人关注。理解这些数据,可以帮助商家更好地制定营销策略,也可以帮助消费者更好地选择产品。因此,本文将对淘宝母婴用品的数据进行深入的挖掘和分析。 1.1 电子商务的
【深度学习新浪潮】2025年末AI产业动态:泡沫争议、技术突破与2026投资机会解析
2025年末的AI产业在波动中完成了阶段性调整,技术突破与政策支持构筑了长期成长基石,而结构性分化与风险隐患则要求投资者更加精准地把握机会。2026年作为“风险资产的黄金年”,AI全产业链将持续成为资本聚焦的核心,无论是算力国产化的技术突破,还是应用场景的规模化落地,都有望催生一批优质企业。投资者需立足产业阶段特征,理性看待短期波动,聚焦核心技术与政策红利,方能在AI产业的成长浪潮中把握确定性机会。
Oracle ORA-14551: 无法在查询中执行 DML 操作
用select ... from dual 调用函数的时候,报ORA-14551: 无法在查询中执行 DML 操作。 解决方法: 函数声明时IS后面加 PRAGMA AUTONOMOUS_TRANSACTION;,操作语句后再加 COMMIT; 关于PRAGMA AUTONOMOUS_TRANSACTION(自治事务)的解释:http://blog.sina.com.cn/s
GEE土地分类:一文读懂精度评定—混淆矩阵confusion matrix、整体精度OA、用户者精度、生产者精度、kappa系数和F1score系数含案例
本文介绍了如何在 Google Earth Engine (GEE) 中构建和分析混淆矩阵,以评估分类模型的性能。首先,通过 ee.Array 构建混淆矩阵,并展示了如何指定自定义类标签。接着,计算了多种性能指标,包括准确率、Kappa 值、F1-score、消费者准确率和生产者准确率。此外,还演示了如何计算不同类别的 F1-score。最后,通过一个实际案例,展示了如何利用 GEE 进行土地分类,并评估分类器的性能,包括训练和验证样本的准确率、Kappa 值等指标。这些步骤帮助用户理解模型的优缺点,并进行
ORA-14551: cannot perform a DML operation inside a query
在执行一个有读写的函数调用的sql查询时,报错: ORA-14551: cannot perform a DML operation inside a query 如图: 经查, 对数据库有写操作(INSERT、UPDATE、DELETE、CREATE、ALTER、COMMIT)的函数,是无法简单的用SQL来调用的. 使用"自主事物",可以解决这个问题....
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
oracle 查询执行过的dml,PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决
环境Oracle 11.2.0 + SQL Plus问题根据以下要求编写函数:将scott.emp表中工资低于平均工资的职工工资加上200,并返回修改了工资的总人数。PL/SQL中有更新的操作,执行此函数报如下错误:ORA-16551: 无法在查询中执行 DML 操作。解决在声明函数时加上: PRAGMA AUTONOMOUS_TRANSACTION; 并在执行完DML后COMMIT。操作日志--...
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
通过自治事务解决ORA-14551: 无法在查询中执行 DML 操作
如创建以下程序: [sql] view plain copy create or replace function fun_test varchar2 is Result varchar2(200); cursor cur_row is select id, msg from (select t.*
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
mysql启动错误1455_PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决
环境Oracle 11.2.0 + SQL Plus问题根据以下要求编写函数:将scott.emp表中工资低于平均工资的职工工资加上200,并返回修改了工资的总人数。PL/SQL中有更新的操作,执行此函数报如下错误:ORA-16551: 无法在查询中执行 DML 操作。解决在声明函数时加上: PRAGMA AUTONOMOUS_TRANSACTION; 并在执行完DML后COMMIT。操作日志--...
ORA-14552: 在查询或 DML 中无法执行 DDL
当在DML语句中调用某些包含DDL语句的函数时会报ORA-14552: 在查询或 DML 中无法执行 DDL SQL> select fun_test('test') from dual; select fun_test('test') from dual * ERROR 位于第 1 行: ORA-14552: 在查询或 DML 中无法执行 DDL,提交或回退 ORA-06512: 在"YWPX.fun_test", line 48 ORA-14551: 无法在查询中执行 DML 操
225



被折叠的 条评论
为什么被折叠?



