代码之家  ›  专栏  ›  技术社区  ›  René Nyffenegger

当我在脚本中有一个“connect”时,我可以停止SQL*plus显示“connected”吗?

  •  2
  • René Nyffenegger  · 技术社区  · 14 年前

    我有一些SQL脚本需要通过SQL*PLUS运行。这些 脚本通过 connect user_01/pass_01@db_01 . 现在,每次脚本执行这样的连接时,它都用 connected . 这让人分心,我想把它关掉。

    我可以用一个

    set termout off
    connect user_01/pass_01@db_01
    set termout on
    

    对我的问题有更优雅的解决方案吗?

    注意,永久性地 set termout off 在脚本开始时,因为我需要知道命令是否没有成功运行。

    2 回复  |  直到 14 年前
        1
  •  3
  •   davek    14 年前

    这是我从汤姆·基特的书中得到的一个提示(忘了哪一个)。我的sqlplus目录中有一个名为connect.sql的脚本:

    set termout off 
    connect &1 
    @login
    

    在我的glogin.sql中,我添加了:

    select lower(user) || '@' || 
    substr( global_name,1, decode( dot, 0, length(global_name), dot-1) ) 
    global_name 
    from (select global_name, instr(global_name,'.') dot from global_name );
    
    set sqlprompt '&gname> '
    
    set termout on
    

    然后我打电话来

    @connect user_01/pass_01@db_01
    

    而不是

    connect user_01/pass_01@db_01
    
        2
  •  0
  •   pj.    14 年前

    如果它真的困扰你,你可以尝试

    SQL> set feedback off
    SQL> alter session set current_schema=SCOTT;
    

    但这可能无法满足您的需求……