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

转载于:https://www.cnblogs.com/yangliguo/p/7633214.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值