关闭

Oracle创建WM_CONCAT函数

标签: oracle函数11g
240人阅读 评论(0) 收藏 举报
分类:

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
0
0
查看评论

在Oracle 上补充创建wm_concat函数

Oracle 11gR2和12C上已经摒弃了wm_concat函数,当时我们很多程序员在程序中确使用了该函数,导致程序出现错误,为了减轻程序员修改程序的工作量,只有通过手工创建个wm_concat函数,来临时解决该问题,但是注意,及时创建了该函数,在使用的过程中,也需要用to_char(w...
  • dantegarden
  • dantegarden
  • 2017-02-23 08:55
  • 1619

在12C上创建wm_concat函数

11gr2和12C上已经摒弃了wm_concat函数,当时我们很多程序员在程序中确使用了该函数,导致程序出现错误,为了减轻程序员修改程序的工作量,只有通过手工创建个wm_concat函数,来临时解决该问题,但是注意,及时创建了该函数,在使用的过程中,也需要用to_char(wm_concat())方...
  • wenzhongyan
  • wenzhongyan
  • 2015-01-26 11:34
  • 10280

在oracle12C上创建wm_concat函数

11gr2和12C上已经摒弃了wm_concat函数,当时我们很多程序员在程序中确使用了该函数,导致程序出现错误,为了减轻程序员修改程序的工作量,只有通过手工创建个wm_concat函数,来临时解决该问题,但是注意,及时创建了该函数,在使用的过程中,也需要用to_char(wm_concat())方...
  • qinhGG
  • qinhGG
  • 2017-05-02 11:27
  • 1135

oracle 合并函数wm_concat(column)和分割函数

----------------------------------------- u_id       goods          &#...
  • Q1059081877Q
  • Q1059081877Q
  • 2015-08-19 21:33
  • 3882

oralce函数wm_concat 替代办法

原帖地址:http://blog.csdn.net/pengdingxu10/article/details/46438567 1.该函数不是oracle公开的系统函数,它的用户是wmsys,而不是sys或者system,oracle很有可能在版本升级或者补丁的时候取消或者修改这个函数甚至用户,...
  • m0_37548754
  • m0_37548754
  • 2017-11-16 16:51
  • 165

oracle中使用wm_concat函数的方法及弊端(解决办法)

该函数在10版本推出,可以把列值以英文逗号分隔起来并显示成一行,例子: 1.   SQL> create table test(id number,name varchar2(20));   2....
  • u012027874
  • u012027874
  • 2017-11-11 11:32
  • 421

关于Oracle函数wm_concat的一些问题

Oracle的wm_concat函数在不同的版本中,返回值类型是不同的。因为是Oracle内部函数,不建议在实际应用中使用,该函数随着oracle版本的升级也不会向下兼容。
  • aknifing
  • aknifing
  • 2016-04-22 10:08
  • 1807

oracle over函数, wm_concat()字符串连接函数使用

OVER (        [ ]        [ ]        [ ] ...
  • u012325403
  • u012325403
  • 2015-08-03 11:34
  • 2400

自定义函数替代WMSYS.WM_CONCAT

参考文章: http://docs.oracle.com/cd/B13789_01/appdev.101/b10800/dciaggfns.htm#i1005028 http://www.eygle.com/archives/2012/10/wmsys_wm_concat.html  ...
  • zwc_2007
  • zwc_2007
  • 2013-06-18 19:22
  • 998

MySQL中函数CONCAT及GROUP_CONCAT 对应oracle中的wm_concat

MySQL中函数CONCAT及GROUP_CONCAT 对应oracle中的wm_concat
  • u011314442
  • u011314442
  • 2016-12-20 18:05
  • 2619
    个人资料
    • 访问:53122次
    • 积分:2258
    • 等级:
    • 排名:第19693名
    • 原创:172篇
    • 转载:2篇
    • 译文:0篇
    • 评论:38条
    我的微信公众号

    我的微信公众号


    最新评论