存储过程将选择哪个NLS_DATE_FORMAT

时间:2018-09-24 14:51:02

标签: oracle plsql

有一个小疑问。我的数据库中有一个存储过程。数据库和会话的NLS_date_format如下。

select * from nls_session_parameters : 
=========================
 DD-MON-YYYY

select * from nls_database_parameters: 
=============
DD-MON-RR

所以我的疑问是,当调用我的PLSQL过程时,将选择哪个NLS_DATE_FORMAT?它将基于当前会话日期格式还是数据库指定的格式。

谢谢您抽出时间让我理解这个话题

1 个答案:

答案 0 :(得分:3)

会话参数优先。来自NLS

  

请注意,会话参数优先于实例和数据库参数。实例参数优先于数据库参数。

Table 3-1 Methods of Setting NLS Parameters and Their Priorities

+-------------+------------------------------------------------+
|  Priority   |                     Method                     |
+-------------+------------------------------------------------+
| 1 (highest) | Explicitly set in SQL functions                |
| 2           | Set by an ALTER SESSION statement              |
| 3           | Set as an environment variable                 |
| 4           | Specified in the initialization parameter file |
+-------------+------------------------------------------------+