Oracle报表BTITLE添加用户ID仅显示USER问题咨询
问题原因
你当前写的USER会被SQL*Plus的BTITLE命令直接识别为普通文本字符串输出,不会自动解析为Oracle内置的USER函数返回的当前登录用户ID值。
解决方案
需要先把USER的取值提前赋值给SQL*Plus的自定义变量,再在BTITLE中引用这个变量即可,完整写法如下:
-- 关闭变量替换提示,避免执行时弹出确认窗口 SET VERIFY OFF -- 定义变量存储USER取值,NOPRINT表示查询结果不输出该列 COLUMN current_user NEW_VALUE curr_user NOPRINT -- 从DUAL表查询获取当前用户ID,赋值给curr_user变量 SELECT USER current_user FROM DUAL; -- 调用变量输出用户ID,变量后加.是变量结束符,避免后续字符和变量名混淆 BTITLE LEFT report_date CENTER 'Page: ' FORMAT 999 SQL.PNO - RIGHT &curr_user. /
补充说明
如果你后续执行其他命令不需要保留这个变量配置,可以在脚本末尾重置相关设置:
SET VERIFY ON CLEAR COLUMNS
内容的提问来源于stack exchange,提问作者John Jeganathan
相关产品推荐
相关产品推荐

