Oracle19c ORA-00904: “WMSYS“.“WM_CONCAT“: 标识符无效

2023-11-03

错误描述:

oracle19c ORA-24344: 成功, 但出现编译错误
ORA-00904: “WMSYS”.“WM_CONCAT”: 标识符无效

解决办法

-- 设置实例
export ORACLE_SID=test1

--首先使用dba账号登录oracle数据库
sqlplus / as sysdba

--解锁wmsys用户
alter user wmsys account unlock;
 
--并为wmsys用户授权,可根据需要授权,不建议授权所有权限
grant all privileges to wmsys;
 
--如果不知道wmsys用户的密码,可以修改其密码
alter user wmsys identified by 123456;

-- 切换到pdb
alter session set container=xxx;

--并为wmsys用户授权,可根据需要授权,不建议授权所有权限
grant all privileges to wmsys;

--使用wmsys用户登录数据库
conn wmsys/123456

-- 切换到pdb,(必须在pdb中创建函数)
alter session set container=xxx;

--在wmsys下创建可用的wm_concat函数,直接执行以下语句
--定义类型
CREATE OR REPLACE TYPE WM_CONCAT_IMPL AS OBJECT
(
CURR_STR VARCHAR2(32767), 
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,
P1 IN VARCHAR2) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,
RETURNVALUE OUT VARCHAR2,
FLAGS IN NUMBER)
RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,
SCTX2 IN WM_CONCAT_IMPL) RETURN NUMBER
);
/
 
--定义类型body:
CREATE OR REPLACE TYPE BODY WM_CONCAT_IMPL
IS
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL)
RETURN NUMBER
IS
BEGIN
SCTX := WM_CONCAT_IMPL(NULL) ;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,
P1 IN VARCHAR2)
RETURN NUMBER
IS
BEGIN
IF(CURR_STR IS NOT NULL) THEN
CURR_STR := CURR_STR || ',' || P1;
ELSE
CURR_STR := P1;
END IF;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,
RETURNVALUE OUT VARCHAR2,
FLAGS IN NUMBER)
RETURN NUMBER
IS
BEGIN
RETURNVALUE := CURR_STR ;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,
SCTX2 IN WM_CONCAT_IMPL)
RETURN NUMBER
IS
BEGIN
IF(SCTX2.CURR_STR IS NOT NULL) THEN
SELF.CURR_STR := SELF.CURR_STR || ',' || SCTX2.CURR_STR ;
END IF;
RETURN ODCICONST.SUCCESS;
END;
END;
/
--自定义行变列函数:
CREATE OR REPLACE FUNCTION wm_concat(P1 VARCHAR2)
RETURN VARCHAR2 AGGREGATE USING WM_CONCAT_IMPL ;
/

--创建完成,给其创建同义词及授权,以供其他用户能正常使用。
create public synonym WM_CONCAT_IMPL for wmsys.WM_CONCAT_IMPL
/
create public synonym wm_concat for wmsys.wm_concat
/
grant execute on WM_CONCAT_IMPL to public
/
grant execute on wm_concat to public
/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle19c ORA-00904: “WMSYS“.“WM_CONCAT“: 标识符无效 的相关文章

  • 如何使用 JDBC 将大型(或至少是重要的)BLOB 放入 Oracle 中?

    我正在开发一个应用程序来执行一些批处理 并且希望将输入和输出数据作为文件存储在 Oracle 数据库的 BLOB 字段中 Oracle版本是10g r2 使用如下的PreparedStatement setBinaryStream 方法会将
  • ORA-01438: 值大于此列允许的指定精度

    有时我们会从合作伙伴的数据库中收到以下错误 i ORA 01438 value larger than specified precision allows for this column i 完整响应如下所示
  • oracle 计算两个字符串中连续匹配的单词

    我想要一个返回两个字符串中单词的顺序匹配数的查询 例子 Table Id column1 column2 result 1 foo bar live foo bar 2 2 foo live tele foo tele 1 3 bar fo
  • 使用sql将行转换为列,反之亦然 - oracle

    我有这张表 create table history date check DATE type VARCHAR2 30 id type NUMBER total NUMBER 正在选择 select from history order b
  • 在Oracle中,是否可以将以逗号分隔的非常大的字符串(clob)转换为具有更好性能的表

    我需要通过逗号分隔符将非常大的 clob 字符串转换为表 下面的函数需要很长时间 有没有返回表的快速函数 create or replace FUNCTION UDF STRSPLIT2 P STR IN CLOB P DELIM IN V
  • 使用 Oracle 中的 Join 查询进行更新

    查询有什么问题 它无限期地执行 UPDATE table1 t1 SET t1 col t1 Output SELECT t2 col t3 Output t2 col FROM tabl2 t3 LEFT JOIN table1 t2 O
  • 在 JDBC PL/SQL 块中多次使用命名参数时出错

    当使用命名参数调用 PL SQL 块时出现错误 当所有命名参数仅使用一次时 我的代码工作正常 但是当我复制标有 SQL 的 SQL 时 然后所有命名参数 以冒号开头 q 都使用了两次 现在我得到一个 SQL 异常 它说 参数名称的数量与注册
  • oracle sql中where条件的动态数量

    我需要为报告工具中的提示编写一条sql 我得到变量中用 分隔的多个值的列表 并且这些值的数量可以变化 例如1 abc def eg2 abc def xyz 现在我需要在oracle中编写这种形式的sql 逻辑上 select someth
  • 在oracle sql中创建日期差异的自定义函数,排除周末和节假日

    我需要计算两个日期之间的天数decimal 不包括周末和节假日 by 使用自定义函数在 Oracle SQL 中 网站上也有类似的问题 然而 正如我所看到的 它们都没有要求使用自定义函数将输出作为十进制 我需要小数的原因是为了之后能够使用
  • PL/SQL 触发器问题

    我正在尝试编写一个触发器来填充包含员工更新工资信息的表 我现在遇到一个无法解决的问题 这是要填充的表 drop table SalUpdates cascade constraints create table SalUpdates Sal
  • 无效号码错误!似乎无法绕过它

    Oracle 10g 数据库 我有一张桌子叫s contact 这个表有一个字段叫做person uid This person uid字段是 varchar2 但包含某些行的有效数字和其他行的无效数字 例如 一行可能有一个person u
  • Oracle SQL - 将 oracle sql 中的 id 更新为按顺序排列

    我在 Oracle SQL 中有一个表 其 id 按递增顺序排列 但由于编辑原因 id 中存在间隙 例如id 目前类似于 22 23 24 32 33 44 etc 我想通过浏览表中的每一行并更新它们来修复这些差距 这样就不会有差距 最好的
  • 哪一个代表null? undef 或空字符串

    我想插入null在表的一列中 哪一个代表null undef或空字符串 应该使用哪一种 为什么 我知道关于defined我可以检查一下 但我更多的是从数据库的角度来看 代表哪一个null更合适吗 Update 我在用DBI module D
  • java.sql.SQLException: ORA-01005: 给定的密码为空;登录被拒绝

    我在尝试连接到数据库时遇到以下异常 java sql SQLException ORA 01005 null password given logon denied at oracle jdbc driver T4CTTIoer proce
  • 在 Oracle 临时表上放置索引安全吗?

    我读过 不应分析临时表 因为它会破坏其他表的统计信息 指数怎么样 如果我在程序运行期间在表上放置索引 使用该表的其他程序会受到该索引的影响吗 索引是否会影响我的进程以及使用该表的所有其他进程 或者它会单独影响我的过程吗 所有的回复都不是权威
  • oracle 数据透视表中的列

    示例选择 select from select 1 cnt 2 sm 55 name 12 month 2011 year 12 2011 mnth txt from dual union all select 1 cnt 2 sm 54
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • 从Oracle表中删除重复行

    我正在 Oracle 中测试某些内容并使用一些示例数据填充表 但在此过程中我不小心加载了重复记录 因此现在我无法使用某些列创建主键 如何删除所有重复行并只保留其中一行 Use the rowid伪列 DELETE FROM your tab
  • 如何使用 EclipseLink 处理以 Oracle 类型作为输入或输出的 Oracle 存储过程调用

    我进行了概念验证 以了解使用 EclipseLink 调用存储过程的效率如何 我能够使用带有标量 原始数据类型 链接整数 varchar 等 的 EclispeLink 来调用 Oracle 存储过程 我想了解如何使用集合 Oracle 类

随机推荐

  • uni-app

    uni app 一 准备工作 1 新建项目 2 配置浏览器 3 兼容 4 新建页面 二 上手 1 pages json文件的页面配置与全局配置 2 rpx尺寸单位 3 内置组件 4 vue2写法 1 模板 2 插值语法 3 指令 4 sty
  • 技术管理者培训小结三:强弱矩阵的优势和劣势

    强弱矩阵的区分关键 绩效是部门主管考评还是项目经理考评 人员在项目中是否唯一确定 三大关注点 是否有利于快速向客户交付价值 是否有利于人员能力的长期积累 是否有利于架构的稳定和演进 一 弱矩阵的优势 有利于专项人才培养 有利于单点技术积累
  • 【ESP32_IDF】esp32 lvgl实现gif动图

    一 LVGL 开启GIF配置 lvgl menuconfig 开启GIF decoder library 配置 lvgl menuconfig 开启LV MEM CUSTOM 配置 二 将GIF图片导为C语言数组 使用lvgl的官方tool
  • C++类String的实现代码

    include
  • python: 处理表格日期的常用场景和方法

    1 提取日期 有时候我们只需要从日期中提取出年 月 日等信息 以便更好地进行数据分析和可视化 可以使用dt属性实现 创建一个数据集 df pd DataFrame date 2019 05 01 10 00 00 2020 07 12 12
  • 学了python究竟有什么用,实际应用场景有哪些?我整理了8个应用领域

    根据我多年python开发经验 python在工作中的实际应用 整理罗列如下 目录 1 网络爬虫 2 数据分析 3 数据可视化 4 web开发 5 自动化办公 6 自动化运维 7 自动化测试 8 人工智能 1 网络爬虫 Python开发爬虫
  • 互联网摸鱼日报(2023-02-04)

    互联网摸鱼日报 2023 02 04 InfoQ 热门话题 Instagram 如何推荐新内容 Twitter 将向开发者收取 API 访问费用 网友吐槽 这是在 作死 数字化关乎生存 企业如何明晰方向和路径 InfoQ数字化公众号上线啦
  • 机器学习(三):感知器算法实现鸢尾花分类项目实战

    上一章我们已经介绍了感知器算法规则 并且用python语言实现了 现在我们应用感知器学习规则进行鸢尾花分类实验 测试数据我们从鸢尾花数据集中挑选出了山鸢尾 Setosa 和变色鸢尾 Versicolor 两种花的信息作为测试数据 虽然感知器
  • 组装最大可靠性的设备

    from itertools import combinations class Solution def init self cost types self element info 元件 self cost cost 成本 self t
  • jQuery03(筛选&文档处理&CSS位置)

    目录 一 筛选 过滤 在jQuery对象数组中 过滤出一部分元素来 案例1 演示过滤所有的方法 查找 在jQuery对象数组中 根据选择器查找孩子 父母 兄弟标签 案例2 演示查找所有的方法 二 文档处理 一 增 1 1 内部插入 1 2
  • (2021,多原型网络)少样本3D点云语义分割

    Few shot 3D Point Cloud Semantic Segmentation 公众号 EDPJ 目录 0 摘要 0 1 关键词和名词解释 1 简介 2 相关工作 3 方法论 3 1 问题定义 3 2 基于attention的多
  • “智能合约”是如何部署的?

    我们都知道 智能合约是区块链网络中各个节点共同遵守的合约 或者说是合同 那么智能合约是如何部署和发挥功能的呢 个人技术公众号 解决方案工程师 欢迎同领域的朋友关注 相互交流 智能合约是Nick Szabo在1994年所提出的概念 是一种计算
  • 边缘计算浅析

    最近 新基建 是个热词 那么新基建到底是什么 与之紧密相关的5G何去何从 这给边缘计算带来了什么机遇 边缘计算的生态产业链条是怎样的 它的典型特征和经济效益是什么 本文将为大家带来分享 新基建是什么 近日 国家发改委官方首次明确了 新基建
  • 5G 的三大应用场景——ITU-R原文

    每次写 5G 的材料时都会提及 5G 的三大应用场景 虽然这是一个众人皆知的常识 但是如果不引用一下的话有些不严谨 苦于一直没找到 ITU 的原文 之前引用的都是移动通信教材那本书 今天狠下心来花时间找了原文 功夫不负有心人 可算给我找到了
  • 找出数组中第 k 小的数

    题目 给定整型数组 S 和整数 k S的长度为n 1 lt k lt n 请输出数组中第 k 小的数 输入的第一行为数组 S 的各个元素 输入的第二行为整数 k 测试案例 1 输入 3 1 2 5 4 6 3 输出 3 我相信大家的第一想法
  • 工程师如何对待开源

    工程师如何对待开源 本文是笔者作为一个在知名科技企业内从事开源相关工作超过 20 年的工程师 亲身经历或者亲眼目睹很多工程师对待开源软件的优秀实践 也看到了很多 Bad Cases 所以想把自己的一些心得体会写在这里 供工程师进行参考 希望
  • mongodb学习笔记–C++操作mongodb

    mongodb学习笔记 C 操作mongodb 在学习mongodb过程当中 必须学习的就是用C Java PHP C 等 操作mongodb 这里讲述C 操作mongodb 在官方提供的mongo cxx driver驱动中有相关的操作例
  • Golang手动安装包

    在写代码过程中经常需要import github com 官方推荐的为go get github com 下载后可以直接自动安装 但是国内由于墙的原因导致下载失败 在此介绍如何在Linux环境下手动安装go包 以 github com ma
  • [网络工程师]-网络规划与设计-需求分析

    1 建网目标分析 建网目标的分析内容包括最终目标分析和近期目标分析 1 1最终目标分析 最终目标分析内容包括 网络建设到怎样的规模 如何满足用户需求 采用的是否是TCP IP 体系结构是Intranet还是非Intranet 即是否为企业网
  • Oracle19c ORA-00904: “WMSYS“.“WM_CONCAT“: 标识符无效

    错误描述 oracle19c ORA 24344 成功 但出现编译错误 ORA 00904 WMSYS WM CONCAT 标识符无效 解决办法 设置实例 export ORACLE SID test1 首先使用dba账号登录oracle数