为什么TOAD和SQLPlus的结果不同



我有这个查询。

select
   dbms_metadata.get_ddl('USER', username) || '/' usercreate
from
   dba_users where username = 'NSAGUN';

在TOAD中,我得到了这段文字。(使用SAVE AS TAB DELIMITED)

USERCREATE
   CREATE USER "NSAGUN" IDENTIFIED BY VALUES '1EE5F58CB716B194'
      DEFAULT TABLESPACE "PIN01"
      TEMPORARY TABLESPACE "PINTEMP"
 /

但在SQLPlus中,我只得到这个:

USERCREATE
--------------------------------------------------------------------------------
   CREATE USER "NSAGUN" IDENTIFIED BY VALUES '1EE5F58CB716B194'
      DEFAULT T

为什么?如何使SQLPlus中的输出与TOAD中的输出相同?

在执行查询之前,请尝试在SQL*Plus中使用以下设置:

set long 1000000
set longchunk 1000000
set linesize 200

dbms_metadata.get_ddl函数返回一个CLOB值,默认情况下SQL*Plus将LONG变量设置为80字节。

SQL> set long 1000000
SQL> set pagesize 0
SQL> SELECT
  2     dbms_metadata.get_ddl('USER', 'LALIT') || '/' usercreate
  3  from
  4     dba_users where username = 'LALIT'
  5  /
   CREATE USER "LALIT" IDENTIFIED BY VALUES 'S:F10EA8C6778ACE16430E4714FE8C41CFB
2C9E5BC73ADDC503E134EA91AF9;H:076ADC10B6F6540DEEB030DF6C97A752;C6F71E6F6BA0F4BD'
      DEFAULT TABLESPACE "USERS"
      TEMPORARY TABLESPACE "TEMP"/

SQL>

LONG{80|n}

Set the maximum width (in chars) for displaying and copying LONG values.

设置页面[IZE]{14|n}

设置iSQL*Plus中输出的每页上的行数命令行和Windows中每页输出的行数GUI。您可以将PAGESIZE设置为零以取消显示所有标题、页面换行符、标题、初始空行和其他格式信息

最新更新