如何获得Oracle环境变量LONG?

时间:2019-04-04 14:34:28

标签: sql oracle

我正在尝试找出Oracle env var LONG(https://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#SQPUG088)。

我尝试过:

select sys_context('USERENV', 'LONG') from dual;

它表示USERENV无效。

没有USERENV,它表示信息不足。

1 个答案:

答案 0 :(得分:1)

USERENV namespace包含可用参数的特定列表;如果提供的参数名称无法识别,则会显示“ ORA-02003:无效的USERENV参数”。

您链接到的LONG是一个SQL * Plus客户端设置,它不是您可以查询的内容,并且实际上不是环境变量-我想您可以称呼它;文档将其称为系统变量,这也许也令人困惑。但是,数据库不知道客户端特定的设置。

  

SET LONG {80 | n}

     

设置用于显示...的最大宽度(以字节为单位)

     

设置显示和复制LONG值时要获取的最大字节数...

这可控制SQL * Plus在对数据库执行查询时为检索LONG,CLOB等值分配多少内存和缓冲区空间,并丢弃超出该限制的任何内容。

如果您想了解当前的客户端设置,则可以从客户端执行以下操作:

show long

将其作为查询的一部分对您来说并没有太大帮助。