Oracle创建WM_CONCAT函数

Oracle创建WM_CONCAT函数
WM_CONCAT这个函数会出错,所以从 11g开始。官方不认可 WM_CONCAT.然后就没这个函数了,
下面就是创建WM_CONCAT这个函数的步骤

第一步:

下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb

第二步:

用sqlplus登录:CONN SYS/PASS_WORD AS SYSDBA;

一、忘记除SYS、SYSTEM用户之外的用户的登录密码。
用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA;

使用如下语句修改用户的密码: ALTER USER user_name IDENTIFIED BY “newpass”;
注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988: 口令缺失或无效

二、忘记SYS用户,或者是SYSTEM用户的密码。

如果是忘记SYSTEM用户的密码,可以用SYS用户登录。然后用ALTER USER 命令修改密码:

CONN SYS/PASS_WORD AS SYSDBA;
ALTER USER SYSTEM IDENTIFIED BY “newpass”;

如果是忘记SYS用户的密码,可以用SYSTEM用户登录。然后用ALTER USER 命令修改密码。

CONN SYSTEM/PASS_WORD ;
ALTER USER SYSTEM IDENTIFIED BY “newpass”;

三、如果SYS,SYSTEM用户的密码都忘记或是丢失。

可以使用ORAPWD.EXE 工具修改密码。
开始菜单->运行->输入‘CMD’,打开命令提示符窗口,输入如下命令:
orapwd file=D:\oracle10g\database\pwdctcsys.ora password=newpass
这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下的\database目录下。
这个密码是修改sys用户的密码。除sys其他用户的密码不会改变。

第三步:

上面的三个文件下载后找到路径 前面加“@” 如: SQL> @C:\Users\ylg\Desktop\oracleowmaggrb.plb;

看自己的Oracle是否有这个函数的sql为:
SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME LIKE ‘WM_CONCAT%’;

select account_status,wmsys.wm_concat(username) from dba_users group by account_status;

如果没有WM_CONCAT函数的话依次执行:

@C:\Users\ylg\Desktop\owmctab.plb;
@C:\Users\ylg\Desktop\owmaggrs.plb
@C:\Users\ylg\Desktop\owmaggrb.plb

这样就创建建成功了赶快去试试

SELECT deptno, wmsys.wm_concat(ename) nameslist
FROM emp
GROUP BY deptno
时间: 2024-07-30 02:57:48

Oracle创建WM_CONCAT函数的相关文章

sqlpus 中创建一个函数打印出表空间的大小

做这个实验的目的是为了熟悉函数返回值在sqlplus中的显示,嘿嘿! 我写了个很简单的函数,在sqlpus 中操作的,偷了一下懒我用sys用户测试: 步聚如下: 1.创建一个函数 SQL> conn / as sysdba Connected. SQL> show  user; USER is "SYS" SQL> CREATE OR REPLACE FUNCTION f_tpsum(intpn IN VARCHAR2)  2  return VARCHAR2 IS

Oracle自定义聚集函数

自定义聚集函数接口简介 Oracle提供了很多预定义好的聚集函数,比如Max(), Sum(), AVG(), 但是这些预定义的聚集函数基本上都是适应于标量数据(scalar data), 对于复杂的数据类型,比如说用户自定义的Object type, Clob等, 是不支持的. 但是,幸运的是, 用户可以通过实现Oracle的Extensibility Framework中的ODCIAggregate interface来创建自定义聚集函数,而且自定义的聚集函数跟内建的聚集函数用法上没有差别.

Oracle过程与函数的区别分析_oracle

Oracle过程和函数相信大家都比较了解,下面就为您详细介绍Oracle过程和函数二者之间的区别,希望可以让您对Oracle过程和函数有更深的认识. Oracle过程和函数都以编译后的形式存放在数据库中,函数可以没有参数也可以有多个参数并有一个返回值.过程有零个或多个参数,没有返回值.函数和过程都可以通过参数列表接收或返回零个或多个值,函数和过程的主要区别不在于返回值,而在于他们的调用方式.Oracle过程是作为一个独立执行语句调用的: pay_involume(invoice_nbr,30,d

oracle创建触发器与常见问题

oracle创建触发器与常见问题 Oracle   DBA   Studio   工具里面就能创建触发器 CREATE   TRIGGER     名称     CREATE   TRIGGER   -   创建一个新触发器           语法     CREATE   TRIGGER   name   {   BEFORE   |   AFTER   }   {   event   [OR   ...]   }             ON   table   FOR   EACH  

mysql oracle 分割字符函数

问题描述 mysql oracle 分割字符函数 5C 8:5;71:41;1:8;2:12;3:17;4:20 这样格式的字段传一个冒号前面的值,输出冒号后面的值怎么实现 解决方案 google oracle实现split 解决方案二: select substring_index('8:5'':' -1) from table where substring_index('8:5'':' 1) = 8

Oracle 常用SQL函数

oracle|函数 时间:2005-02-18 Oracle的SQL函数分为单行函数和多行函数.单行函数只对单条记录有效,多行函数对多条记录有效. 单行函数包括,字符.数字.日期.转换和普通函数. 字符函数举例:• 全小写  LOWER('SQL Course')   sql course• 全大写 UPPER('SQL Course')     SQL COURSE •首字母大写 INITCAP('SQL Course')    Sql Course拼接 CONCAT('Good', 'Str

oracle的trunc函数使用示例

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'), to_char(trunc(sysdate), 'yyyy-mm-dd hh24:mi:ss') from dual t;--sysdate和trunc(sysdate)是不一样的 sysdate在当天的零时零分零秒等于trunc(sysdate) select trunc(sysdate, 'dd'), trunc(sysdate) from dual t; --今天 20140703 零时零分

Oracle创建数据库

1.创建数据库 为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库. 1.1 进入Oracle服务端的"Database Configuration Assistant": 1.2 选择"创建数据库":   1.3 选择定制数据库 1.4 写数据库名和SID号 (注:如果提示没有创建监听器,请在开始->所 有程序->Oracle-OraDB11g_home1->配置和移植工具->Net C

oracle数据库-oracle 创建的dblink导入数据不成功报错

问题描述 oracle 创建的dblink导入数据不成功报错 执行数据导入时报:ORA-24777: 不允许使用不可移植的数据库链路