打印

oracle ORG_ID是什么意思呀?

本主题被作者加入到个人文集中

oracle ORG_ID是什么意思呀?

我是刚刚接触oracle erp,对此并不熟悉,有很多疑惑,请各位前辈能指点迷津。
oracle中经常会用到视图,对视图进行拆分时,会发现where语句后面有这么一段代码。请问是什么意思,并且有什么作用。
where
      NVL(h.ORG_ID,
           NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'), 1, 1),
                                ' ',
                                NULL,
                                SUBSTRB(USERENV('CLIENT_INFO'), 1, 10))),
               -99)) =
       NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'), 1, 1),
                            ' ',
                            NULL,
                            SUBSTRB(USERENV('CLIENT_INFO'), 1, 10))),
           -99)

当拿到一个已经做好的report,我该怎样进行分析这张报表呢?很是疑惑,请前辈指点!!!

TOP

请各位前辈能指点迷津

TOP

nvl是函数,两个参数,第一个参数通常为变量,第二个参数为预设常量
他判断第一个参数的变量值是否为空(is null),如为空,返回你设定的第二个参数的常量值,否则返回第一个参数的变量值。
参数也可以是一个逻辑表达试

To_number 类型转换,不管参数是什么类型,强制转成数值。

decode函数相当于switch 语句
举个例子是decode(a,b,c,d,e,...N,...N+1,f)
意思是更具a的值判断,如果a=b 输出c ,如果a=d 输出e ,以此类推可以设置N个条件,
如果之前的条件都不满足则输出f。

org_id是业务实体OU的id

[ 本帖最后由 云杉上的蝴蝶 于 2008-6-10 17:38 编辑 ]
AI by Spruce Lab --
Discover the Info. Tech. for Personal!
Powered by Solaris & Oracle

initiator@lab.spruce.cn

TOP

SUBSTRB(USERENV('CLIENT_INFO'), 1, 1) 看成A
SUBSTRB(USERENV('CLIENT_INFO'), 1, 10)看成B

where

NVL( h.ORG_ID, NVL(TO_NUMBER(DECODE(A,' ',NULL,B)),-99
=  NVL(TO_NUMBER(DECODE(A,' ',NULL,B)),-99
                              


[ 本帖最后由 云杉上的蝴蝶 于 2008-6-10 18:01 编辑 ]
AI by Spruce Lab --
Discover the Info. Tech. for Personal!
Powered by Solaris & Oracle

initiator@lab.spruce.cn

TOP

谢谢您的指点,但对于USERENV('CLIENT_INFO')和 ORG_ID 还是很迷惑,

A里面的USERENV('CLIENT_INFO')是什么意思呀,他有什么作用。
另外,在这里使用ORG_ID有什么作用?因为ORG_ID的使用频率好像很高,经常能够在pl/sql 语句中看到!

TOP

ORG_ID 就是市公司代码 organization_id

TOP

org_id 就是你系統中org的地址號。
org是那個廠在系統中的數字代號。

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-8-29 10:16 京ICP证060528 号

Designed By 17DST