2013-05-01 113 views
1

有一个问题让SET LINESIZE在Oracle 11g Express中正常工作。Linesize问题Oracle 11g Express

我将linesize设置为从100到最大限制37000个奇数的任何值,但它仍然没有在TUI中正确显示。

我已经试过了每一条我可以在这里找到的网路,但这并不是什么对我有用的东西 - 你们任何一个好作品能帮助我吗?

我已经包含了screengrab(编辑:我没有声望,所以图像不会显示)的结果和表的代码也。

CREATE table SUPERVISOR(
S_ID NUMBER(5) NOT NULL, 
SFNAME NVARCHAR2(50) NULL, 
SLNAME NVARCHAR2(50) NULL, 
STELEPHONE NUMBER(9) NULL, 
D_ID NUMBER(6) NULL, 
PRIMARY KEY(S_ID), 
FOREIGN KEY(D_ID) 
REFERENCES DEPARTMENT(D_ID) 
); 
+1

确切地说:你是如何产生这种输出的? sqlplus describe和其他oracle实用程序通常需要80个字符行(或更短一点)。 – 2013-05-01 15:23:40

+0

我不追随 - 道歉我刚刚学习绳索,但你在谈论NVARCHAR(50)? – user2339851 2013-05-01 15:31:29

回答

1

很难说没有屏幕抓取,但总的来说,SQLPlus中的输出趋向于在显示屏上换行。尝试假脱机到一个文件:

SQL> SET LINESIZE 100 
SQL> SPOOL myresult.txt 
SQL> ... (execute your DESC or query or whatever) 
SQL> SPOOL OFF 
SQL> EDIT myresult.txt 

在Windows中,EDIT myresult.txt一般会弹出假脱机输出记事本。关闭文字包装(在Format菜单下),你应该看到你的输出在适当的宽度。

假脱机输出将填充到SET LINESIZE的确切长度。要删除填充,请在开始后台打印之前在SQL提示符处键入SET TRIMSPOOL ON


附录:拓宽sqlplus的窗口(Windows O/S)

为了拓宽sqlplus的窗口,依次单击该窗口菜单上(或按Alt +空格键),选择属性,和请转至布局选项卡。在屏幕缓冲区大小部分中,您可以定义线宽。这是用于窗口显示的,它独立于SQLPlus SET LINESIZE设置。

您也可以在窗口大小中定义总宽度,虽然有一个上限,可能取决于您的显示器。点击“确定”,你应该全部设置。该窗口将水平滚动到您指定的缓冲区大小。

我相信类似的事情可以在其他操作系统上完成,但目前我没有任何可用的东西。

+0

http://tinypic.com/r/234lex/5这是我可以做的最好的产生图像 – user2339851 2013-05-01 15:37:09

+0

谢谢,这是我怀疑。如果您的输出超出范围,您可能需要使用SPOOL。您还可以扩大SQLPlus窗口的宽度。我将更新我的答案以显示如何在Windows中执行此操作;几分钟后再回来查看。 – 2013-05-01 15:41:47

+0

真的很感谢Ed!太感谢了! :-) – user2339851 2013-05-01 15:51:33