[20250731]建立完善descv.sql脚本.txt
[20250731]建立完善descv.sql脚本.txt
--//在sqlplus下使用desc 查询视图有一个缺点,如果字段太多,显示列表非常长,查找需要的信息非常浪费时间。
--//视乎没有一个表记录视图字段的相关信息。自己写一个脚本结合bash shell的grep命令显示相关视图字段的信息。
$ cat descv.sql
set term off
set linesize 80
spool tmpdesc.txt
desc &1
spool off
set term on
set linesize 280
host sed -n '1,2p' tmpdesc.txt ; egrep -i "&2" tmpdesc.txt
--host &_DELETE tmpdesc.txt
--//测试例子:
SCOTT@book01p> @ descv v$database supp|dbid
Name Null? Type
------------------------------- -------- ----------------------------
1 DBID NUMBER
30 SUPPLEMENTAL_LOG_DATA_MIN VARCHAR2(8)
31 SUPPLEMENTAL_LOG_DATA_PK VARCHAR2(3)
32 SUPPLEMENTAL_LOG_DATA_UI VARCHAR2(3)
40 SUPPLEMENTAL_LOG_DATA_FK VARCHAR2(3)
41 SUPPLEMENTAL_LOG_DATA_ALL VARCHAR2(3)
52 SUPPLEMENTAL_LOG_DATA_PL VARCHAR2(3)
57 CON_DBID NUMBER
59 SUPPLEMENTAL_LOG_DATA_SR VARCHAR2(3)
--//如果@ descv v$database '' ,这样开头2行信息重复吧了。
--//对于表只要sqlplus的desc命令正常显示,也一样操作。例子:
SCOTT@book01p> @ descv emp date
Name Null? Type
------------------------------- -------- ----------------------------
5 HIREDATE DATE
--//在sqlplus下使用desc 查询视图有一个缺点,如果字段太多,显示列表非常长,查找需要的信息非常浪费时间。
--//视乎没有一个表记录视图字段的相关信息。自己写一个脚本结合bash shell的grep命令显示相关视图字段的信息。
$ cat descv.sql
set term off
set linesize 80
spool tmpdesc.txt
desc &1
spool off
set term on
set linesize 280
host sed -n '1,2p' tmpdesc.txt ; egrep -i "&2" tmpdesc.txt
--host &_DELETE tmpdesc.txt
--//测试例子:
SCOTT@book01p> @ descv v$database supp|dbid
Name Null? Type
------------------------------- -------- ----------------------------
1 DBID NUMBER
30 SUPPLEMENTAL_LOG_DATA_MIN VARCHAR2(8)
31 SUPPLEMENTAL_LOG_DATA_PK VARCHAR2(3)
32 SUPPLEMENTAL_LOG_DATA_UI VARCHAR2(3)
40 SUPPLEMENTAL_LOG_DATA_FK VARCHAR2(3)
41 SUPPLEMENTAL_LOG_DATA_ALL VARCHAR2(3)
52 SUPPLEMENTAL_LOG_DATA_PL VARCHAR2(3)
57 CON_DBID NUMBER
59 SUPPLEMENTAL_LOG_DATA_SR VARCHAR2(3)
--//如果@ descv v$database '' ,这样开头2行信息重复吧了。
--//对于表只要sqlplus的desc命令正常显示,也一样操作。例子:
SCOTT@book01p> @ descv emp date
Name Null? Type
------------------------------- -------- ----------------------------
5 HIREDATE DATE