默认情况下,sqlplus会将列名截断为基础数据类型的长度.我们数据库中的许多列名都以表名为前缀,因此在截断时看起来相同.
我需要在锁定的生产环境中为远程DBA指定select*查询,并拖回假脱机结果以进行诊断.列太多,无法指定单个列格式.sqlplus是否提供统一阻止列名截断的任何选项?
(我使用SET MARKUP HTML ON,虽然我可以使用其他一些模态,csv等,只要它产生无缩写的输出.)
当我有两个sql文件时,其中一个在子目录中
main_test.sql
sub/sub_test.sql
Run Code Online (Sandbox Code Playgroud)
和sub_test.sql调用@../main_test.sql(或@@../main_test.sql)然后从子目录执行它时工作正常
sub> sqlplus xxx @ sub_test.sql
Run Code Online (Sandbox Code Playgroud)
但是当我打电话时
sub> cd ..
> sqlplus xxx @ sub/sub_test.sql
Run Code Online (Sandbox Code Playgroud)
这导致了
SP2-0310: unable to open file "../main_test.sql"
Run Code Online (Sandbox Code Playgroud)
因为路径是从我的工作目录评估的,而不是我调用的sql文件的目录.
有没有办法从包含调用的文件目录开始使用相对路径?
我试图右对齐某些PL/SQL代码的输出,但dbms_output.put_line正在修剪我的字符串中的前导空格.我怎么让它停下来?或者有更好的方法输出带有前导空格的字符串?
dbms_output.put_line(lpad('string', 30, ' '));
Run Code Online (Sandbox Code Playgroud)
输出:
string
Run Code Online (Sandbox Code Playgroud)
代替:
string
Run Code Online (Sandbox Code Playgroud) 我想知道是否有任何技巧trimspool只能修剪右边的尾随空格.
我有使用dbms_output.put_line打印到控制台的代码,输出通常有缩进,以便更容易用眼睛扫描.我将线宽设置得相当大,以使一些输出更容易阅读,所以我还设置了trimspool以消除额外的空白区域.唯一的问题是现在领先的空间被删除以及尾随的空格.有没有办法来解决这个问题?我可以.在某些输出语句中添加一个前导(在前导空格之前)" "字符,但我不允许在大多数包中修改代码.
这是没有trimmimg输出的内容:
level 1 (EOL)
level 2 (EOL)
Some data (EOL)
这是它目前输出的trimspool内容:
level 1(EOL) level 2(EOL) Some data(EOL)
这就是我想要的:
level 1(EOL)
level 2(EOL)
Some data(EOL)
如何确定列是否是oracle中的自动增量字段?
我正在使用SQLPlus,每当我查询数据库时,结果就完全混乱了.换句话说,很难阅读.我想知道是否有人知道如何格式化在Unix服务器上运行的SQLPlus中的查询(列,表等)的输出.但是,我从我的窗口访问服务器.
并且,有人能告诉我在哪里可以从Ubuntu获取SQLPlus吗?
干杯,
我是psql的初学者,我有一个问题.
这是代码:
SET serveroutput ON
ACCEPT myVariable PROMPT "Input value: ";
BEGIN
dbms_output.put_line('My input variable is: '||&myVariable);
END;
Run Code Online (Sandbox Code Playgroud)
问题很简单:如何将文本传递给我的变量?如果我输入一个数字它是正常工作,我可以在日志中读取我的号码,但如果我传递像"mytext"而不是数字的文本,我得到一个错误:
old:BEGIN
dbms_output.put_line('My input variable is: '||&myVariable);
END;
new:BEGIN
dbms_output.put_line('My input variable is: '||mytext);
END;
Error starting at line 5 in command:
BEGIN
dbms_output.put_line('My input variable is: '||&myVariable);
END;
Error report:
ORA-06550: 2 sor, 50 oszlop:
PLS-00201: identifier 'MYTEXT' must be declared
ORA-06550: 2 sor, 3 oszlop:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation …Run Code Online (Sandbox Code Playgroud) 数字数据类型显示为#而不是SQL Plus中的数字.
请参阅H_RATE以了解它正常显示的问题,我已经搜索了互联网和stackoverflow以查找simliar问题或答案,但没有相同的问题.
你可以帮忙解决它,以便显示数字而不是#?

如何在 SQLPlus 中撤销用户的所有权限?我已登录,sysdba并且我想撤销普通用户的所有权限。
我用谷歌搜索了这个查询
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
Run Code Online (Sandbox Code Playgroud)
但我不明白我应该为用户提供什么,等等。
sqlplus ×10
oracle ×9
sql ×3
plsql ×2
ddl ×1
formatting ×1
metadata ×1
oracle10g ×1
primary-key ×1
privileges ×1
sql-revoke ×1
ubuntu ×1
unix ×1