dbms_session. package

SQL> EXEC dbms_session.set_nls('nls_date_format','''DD.MM.YYYY''');

PL/SQL procedure successfully completed.

SQL> SELECT Sysdate from dual;

SYSDATE
----------
30.03.2009

SQL> EXEC dbms_session.set_nls('nls_date_format','''DD/MM/YYYY HH24:MI:SS''');

PL/SQL procedure successfully completed.

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
-------------------
30/03/2009 11:40:35

 

SQL> desc dbms_session; 
PROCEDURE CLEAR_ALL_CONTEXT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 NAMESPACE                      VARCHAR2                IN
PROCEDURE CLEAR_CONTEXT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 NAMESPACE                      VARCHAR2                IN
 CLIENT_ID                      VARCHAR2                IN     DEFAULT
 ATTRIBUTE                      VARCHAR2                IN     DEFAULT
PROCEDURE CLEAR_IDENTIFIER
PROCEDURE CLOSE_DATABASE_LINK
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 DBLINK                         VARCHAR2                IN
PROCEDURE FREE_UNUSED_USER_MEMORY
FUNCTION IS_ROLE_ENABLED RETURNS BOOLEAN
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 ROLENAME                       VARCHAR2                IN
FUNCTION IS_SESSION_ALIVE RETURNS BOOLEAN
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 UNIQUEID                       VARCHAR2                IN
PROCEDURE LIST_CONTEXT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 LIST                           TABLE OF RECORD         OUT
 LSIZE                          NUMBER                  OUT
PROCEDURE MODIFY_PACKAGE_STATE
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 ACTION_FLAGS                   BINARY_INTEGER          IN
PROCEDURE RESET_PACKAGE
PROCEDURE SESSION_TRACE_DISABLE
PROCEDURE SESSION_TRACE_ENABLE
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 WAITS                          BOOLEAN                 IN     DEFAULT
 BINDS                          BOOLEAN                 IN     DEFAULT
PROCEDURE SET_CLOSE_CACHED_OPEN_CURSORS
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 CLOSE_CURSORS                  BOOLEAN                 IN
PROCEDURE SET_CONTEXT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 NAMESPACE                      VARCHAR2                IN
 ATTRIBUTE                      VARCHAR2                IN
 VALUE                          VARCHAR2                IN
 USERNAME                       VARCHAR2                IN     DEFAULT
 CLIENT_ID                      VARCHAR2                IN     DEFAULT
PROCEDURE SET_IDENTIFIER
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 CLIENT_ID                      VARCHAR2                IN
PROCEDURE SET_NLS
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 PARAM                          VARCHAR2                IN
 VALUE                          VARCHAR2                IN
PROCEDURE SET_ROLE
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 ROLE_CMD                       VARCHAR2                IN
PROCEDURE SET_SQL_TRACE
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SQL_TRACE                      BOOLEAN                 IN
PROCEDURE SWITCH_CURRENT_CONSUMER_GROUP
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 NEW_CONSUMER_GROUP             VARCHAR2                IN
 OLD_CONSUMER_GROUP             VARCHAR2                OUT
 INITIAL_GROUP_ON_ERROR         BOOLEAN                 IN
FUNCTION UNIQUE_SESSION_ID RETURNS VARCHAR2

SQL>

 

SQL> desc scott.emp;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPNO                                     NOT NULL NUMBER(4)
 ENAME                                              VARCHAR2(10)
 JOB                                                VARCHAR2(9)
 MGR                                                NUMBER(4)
 HIREDATE                                           DATE
 SAL                                                NUMBER(7,2)
 COMM                                               NUMBER(7,2)
 DEPTNO                                             NUMBER(2)

SQL> select to_char(HIREDATE,'dd.mon.yyyy','nls_date_language=french') from scott.emp;

TO_CHAR(HIREDATE,'DD.MON.YYYY','NLS_
------------------------------------
17.d¨¦c..1980
20.f¨¦vr..1981
22.f¨¦vr..1981
02.avr. .1981
28.sept..1981
01.mai  .1981
09.juin .1981
19.avr. .1987
17.nov. .1981
08.sept..1981
23.mai  .1987

TO_CHAR(HIREDATE,'DD.MON.YYYY','NLS_
------------------------------------
03.d¨¦c..1981
03.d¨¦c..1981
23.janv..1982

14 rows selected.

 

SQL> select to_char(HIREDATE,'dd.mon.yyyy','nls_date_language=french') from scott.emp where

HIREDATE>'01.JAN.1982';

TO_CHAR(HIREDATE,'DD.MON.YYYY','NLS_
------------------------------------
19.avr. .1987
23.mai  .1987
23.janv..1982

SQL>

 

SQL> select to_char(sal,'99G999D99','NLS_NUMERIC_CHARACTERS='',.''') FROM SCOTT.EMP;

TO_CHAR(SAL,'99G999D
--------------------
    800,00
  1.600,00
  1.250,00
  2.975,00
  1.250,00
  2.850,00
  2.450,00
  3.000,00
  5.000,00
  1.500,00
  1.100,00

TO_CHAR(SAL,'99G999D
--------------------
    950,00
  3.000,00
  1.300,00

14 rows selected.

SQL>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Oracle 数据库中,可以使用包(package)或者会话(session)级别的上下文(context)来定义全局变量。 1. 使用包(package)定义全局变量: 首先,在包中声明一个变量,并将其设置为公共(public)的,这样其他包或过程可以访问它。然后,可以在包的任何过程或函数中使用该变量。 以下是一个示例代码: ```sql CREATE OR REPLACE PACKAGE my_package IS -- 声明一个全局变量 g_variable NUMBER; END my_package; / CREATE OR REPLACE PACKAGE BODY my_package IS -- 初始化全局变量 PROCEDURE init_variable IS BEGIN g_variable := 10; END init_variable; -- 使用全局变量 PROCEDURE use_variable IS BEGIN DBMS_OUTPUT.PUT_LINE(g_variable); END use_variable; END my_package; ``` 在上述示例中,"my_package" 包中声明了一个名为 "g_variable" 的全局变量,并在 "init_variable" 过程中初始化为 10。在 "use_variable" 过程中,可以访问并使用该全局变量。 2. 使用会话(session)级别的上下文(context)定义全局变量: Oracle 还提供了一种使用会话级别的上下文(context)来定义全局变量的方式。这种方式允许在会话内共享和访问全局变量,但对于其他会话来说是隔离的。 以下是一个示例代码: ```sql -- 创建上下文(context) CREATE OR REPLACE CONTEXT my_context USING my_package; -- 设置全局变量的值 EXECUTE IMMEDIATE 'BEGIN DBMS_SESSION.SET_CONTEXT(''my_context'', ''g_variable'', 10); END;'; -- 在过程中使用全局变量 CREATE OR REPLACE PROCEDURE use_variable IS v_variable NUMBER; BEGIN v_variable := SYS_CONTEXT('my_context', 'g_variable'); DBMS_OUTPUT.PUT_LINE(v_variable); END use_variable; ``` 在上述示例中,首先创建了一个名为 "my_context" 的上下文,其中使用了之前创建的包 "my_package"。然后,通过使用 `DBMS_SESSION.SET_CONTEXT` 过程,将全局变量 "g_variable" 的值设置为 10。最后,在过程 "use_variable" 中使用 `SYS_CONTEXT` 函数来获取并使用该全局变量的值。 这些是在 Oracle 数据库中定义全局变量的两种常见方法。根据具体的需求和场景选择适合的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值