Oracle
SQLcl:在 sqlprompt 中設置顏色(ANSI/VT100 控制序列)
這是我的
login.sql
SET sqlprompt "_user'@'_connect_identifier > " SET sqlformat ansiconsole SET serveroutput on SET lines 3000
如何將
sqlprompt
Prod 設置為紅色(測試設置為綠色)?
從上面的連結中,我在 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 中,它會根據登錄的使用者自動更改顏色