Oracle

SQLcl:在 sqlprompt 中設置顏色(ANSI/VT100 控制序列)

  • November 14, 2019

這是我的login.sql

SET sqlprompt "_user'@'_connect_identifier > "
SET sqlformat ansiconsole
SET serveroutput on
SET lines 3000

如何將sqlpromptProd 設置為紅色(測試設置為綠色)?

從上面的連結中,我在 sqlcli bin 目錄中創建了一個 Java 腳本(在 Windows 10 上)

C:\sqlcl-19.2.1.246.1707\sqlcl\bin>type PromptColor.js
//file name PromptColor.js save in sqlcli bin dir
//login sqlcli and run script PromptColor.js
var dbUser = util.executeReturnOneCol('select user from sys.dual');
if ( dbUser == 'HR' )
 {
  sqlcl.setStmt('set sqlprompt "@|red _USER|@@@|red _CONNECT_IDENTIFIER|@@|red >|@"');
 }
else if ( dbUser == 'SOE')
 {
   sqlcl.setStmt('set sqlprompt "@|green _USER|@@@|green _CONNECT_IDENTIFIER|@@|green >|@"');
 }

else
 {
   sqlcl.setStmt('set sqlprompt "@|blue _USER|@@@|blue _CONNECT_IDENTIFIER|@@|blue >|@"');
 }


sqlcl.run();

使用預設提示登錄

C:\sqlcl-19.2.1.246.1707\sqlcl\bin>sql soe/soe@localhost:1521/orclpdb.localdomain -- pdb database 

SQLcl: Release 19.2.1 Production on Tue Nov 12 12:17:13 2019

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>script PromptColor.js

在此處輸入圖像描述

接下來是計算如何從 login.sql 呼叫 javascript

編輯:- 在 SQLPATH 目錄中創建一個帶有單行script PromptColor.js位置的 sql 文件,並將該 sqlfile 名稱添加到 login.sql 中,它會根據登錄的使用者自動更改顏色

引用自:https://dba.stackexchange.com/questions/253074