返回顶部
首页 > 资讯 > 数据库 >怎么在Oracle12C数据库创建wm_concat函数
  • 380
分享到

怎么在Oracle12C数据库创建wm_concat函数

2024-04-02 19:04:59 380人浏览 安东尼
摘要

本篇内容介绍了“怎么在oracle12C数据库创建wm_concat函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能

本篇内容介绍了“怎么在oracle12C数据库创建wm_concat函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

当我们的程序需要连接12C数据库时,原本使用wm_concat函数的地方会出现报错,这是由于12C已经摒弃了wm_concat这个函数,可以采取的办法有使用listagg函数代替wm_concat函数,但是程序中所有涉及wm_concat函数的地方都得改成listagg函数的写法,所以为了减小修改程序的工作量,可以通过手工创建wm_concat函数来解决这个问题。

一、用sys用户以SYSDBA身份登录数据库,执行以下命
CREATE OR REPLACE TYPE WM_CONCAT_IMPL AS OBJECT
-- AUTHID CURRENT_USER 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 sys.WM_CONCAT_IMPL
/
create public synonym wm_concat for sys.wm_concat
/

grant execute on WM_CONCAT_IMPL to public
/
grant execute on wm_concat to public
/

“怎么在Oracle12C数据库创建wm_concat函数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在Oracle12C数据库创建wm_concat函数

本文链接: https://lsjlt.com/news/59898.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Oracle12C数据库创建wm_concat函数
    本篇内容介绍了“怎么在Oracle12C数据库创建wm_concat函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2024-04-02
  • ORACLE 12C创建wm_concat函数
    0.首先使用dba用户登录数据库,并解锁wmsys用户 alter user wmsys account unlock; 用WMSYS用户登录,不知道密码可以修改其密码 alter user wmsys identified by...
    99+
    2015-03-21
    ORACLE 12C创建wm_concat函数
  • 怎么在sqlyog中创建数据库?
    今天就跟大家聊聊有关怎么在sqlyog中创建数据库?,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先启动xampp的apache和MySQL然后打...
    99+
    2024-04-02
  • 怎么在postgresql中创建数据库
    在postgresql中创建数据库的方法:1.启动postgresql服务;2.登录postgresql数据库;3.使用createdb命令创建;具体步骤如下:首先,在命令行中启动postgresql服务;net start postgre...
    99+
    2024-04-02
  • 怎么在visual中创建数据库
    要在Visual Studio中创建数据库,可以遵循以下步骤:1. 打开Visual Studio,点击“文件”(File)菜单,选...
    99+
    2023-08-16
    visual 数据库
  • 怎么在phpmyadmin创建数据库表
    在 phpmyadmin 中创建数据库表:登录并选择数据库后,单击“新建”>输入表名>添加列(字段名称、数据类型、长度/值、允许为空)>设置主键和外键(如有需要)>...
    99+
    2024-04-08
    phpmyadmin
  • phpmyadmin如何在某数据库里创建函数
    这篇文章给大家分享的是有关phpmyadmin如何在某数据库里创建函数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。phpmyadmin上在某数据库里创建函数改那个PHP项目加了...
    99+
    2024-04-02
  • mysql数据库怎么创建数据
    在 mysql 数据库中创建数据涉及以下步骤:连接到数据库并选择目标数据库。使用 create table 语句创建数据表。使用 insert into 语句插入数据。使用 commit...
    99+
    2024-04-05
    mysql
  • 怎么在mysql数据库中创建表
    怎么在mysql数据库中创建表?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。创建数据库右键-新建数据库输入库名、选择字符集和排序规则,点确定创建数据库成功新建表...
    99+
    2023-06-15
  • 怎么在mysql中创建library数据库
    要创建 mysql 数据库“library”,请先建立 mysql 连接,然后执行以下步骤:1. 创建数据库:create database library; 2. 选择数据库:use ...
    99+
    2024-04-29
    mysql
  • 数据库中怎么创建数据表
    这篇文章主要介绍了数据库中怎么创建数据表的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇数据库中怎么创建数据表文章都会有所收获,下面我们一起来看看吧。创建数据表创建数据表使用 "CREATE ...
    99+
    2023-06-08
  • mysql数据库怎么创建数据表
    要创建一个MySQL数据库中的数据表,你可以使用CREATE TABLE语句。以下是一个示例: CREATE TABLE 表名 ( ...
    99+
    2024-04-09
    mysql 数据库
  • 怎么创建mysql数据库
    今天就跟大家聊聊有关怎么创建mysql数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。mysql创建数据库的方法是:可以使用create命令创建...
    99+
    2024-04-02
  • mysql怎么创建数据库
    这篇文章给大家分享的是有关mysql怎么创建数据库的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql怎么创建数据库?1. 打开电脑中管理MySQL的软件2.&nb...
    99+
    2024-04-02
  • mongodb怎么创建数据库
    mongodb中创建数据库的方法:在mongodb中创建数据库可以使用use方法,语法格式:“use 数据库名”,例如:“use yisu”创建一个名为yisu的数据库,如果在mongodb中该数据库不存在,则创建数据库,否则切换到指定数据...
    99+
    2024-04-02
  • android怎么创建数据库
    在Android中创建数据库可以通过以下步骤来完成:1. 创建一个继承自SQLiteOpenHelper的类,用于管理数据库的创建和...
    99+
    2023-08-26
    android 数据库
  • mysql数据库怎么创建
    如何创建 mysql 数据库?连接到 mysql 服务器。使用 create database 命令创建数据库。酌情选择新创建的数据库。酌情授予其他用户访问数据库的权限。使用 flush...
    99+
    2024-04-05
    mysql
  • 怎么创建mongodb数据库
    要创建一个MongoDB数据库,您需要按照以下步骤进行操作: 安装MongoDB:首先,您需要安装MongoDB数据库软件。您可...
    99+
    2024-04-09
    mongodb
  • 怎么创建sqlite数据库
    要创建SQLite数据库,可以按照以下步骤操作: 下载SQLite数据库管理工具,比如SQLiteStudio或SQLite Br...
    99+
    2024-04-10
    sqlite
  • 怎么创建sqlserver数据库
    要创建SQL Server数据库,可以按照以下步骤进行操作: 打开SQL Server Management Studio(SS...
    99+
    2024-04-17
    sqlserver
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作