人们编写的最普通的程序之一是将Oracle8i数据库的数据填入电子表中。可以用
SQL*Plus来完成这一工作。大多数电子表格要求数据之间用逗号隔开,字符型数据需要用单引号或双引号括起来。如果用单引号,则程序如下所示:
SQL>rem* Make spreadsheet data program
SQL>set heading off
SQL>set pagesize 0
SQL>set feedback off
SQL>set echo off
SQL>spool out.dat
SQL>select '''' || last_name || '''' || ',' || ''''||state_cd||''''
from custiomer;
SQL>spool off
如果使用双引号,则程序如下:
SQL>set heading off
SQL>set pagesize 0
SQL>set feedback off
SQL>set trimspool on
SQL>set echo off
SQL>spool out.dat
SQL>select '"' || last_name || '"' || '","' || '"'||state_cd||'"'
from custiomer;
SQL>spool off
以上测试通过
[color=blue] 表12-2 电子表格生成程序中的程序代码行讨论
组成 意义
set heading off 由于正在创建数据文件,不需要表头
set pagesize 0 不需分页,则设置数据文件输出为零
set linesize 80 在输出数据文件中设置行的最大尺寸
set trimspool on 告诉SQL*Plus去掉输出的尾部空格
set feedback off 告诉SQL*Plus不显示满足了查询条件而被检索到的行
set echo off 告诉SQL*Plus在执行语句时不要回显语句行
spool out.dat 告诉SQL*Plus把查询结果送到文件out.dat中
spool off 告诉SQL*Plus关闭输出数据文件
[/color]
注意“set trimspool on”命令仅在SQL*Plus3.2以上的版本(Oracle8 7.3和7.2 )中使用,
SQL*Plus来完成这一工作。大多数电子表格要求数据之间用逗号隔开,字符型数据需要用单引号或双引号括起来。如果用单引号,则程序如下所示:
SQL>rem* Make spreadsheet data program
SQL>set heading off
SQL>set pagesize 0
SQL>set feedback off
SQL>set echo off
SQL>spool out.dat
SQL>select '''' || last_name || '''' || ',' || ''''||state_cd||''''
from custiomer;
SQL>spool off
如果使用双引号,则程序如下:
SQL>set heading off
SQL>set pagesize 0
SQL>set feedback off
SQL>set trimspool on
SQL>set echo off
SQL>spool out.dat
SQL>select '"' || last_name || '"' || '","' || '"'||state_cd||'"'
from custiomer;
SQL>spool off
以上测试通过
[color=blue] 表12-2 电子表格生成程序中的程序代码行讨论
组成 意义
set heading off 由于正在创建数据文件,不需要表头
set pagesize 0 不需分页,则设置数据文件输出为零
set linesize 80 在输出数据文件中设置行的最大尺寸
set trimspool on 告诉SQL*Plus去掉输出的尾部空格
set feedback off 告诉SQL*Plus不显示满足了查询条件而被检索到的行
set echo off 告诉SQL*Plus在执行语句时不要回显语句行
spool out.dat 告诉SQL*Plus把查询结果送到文件out.dat中
spool off 告诉SQL*Plus关闭输出数据文件
[/color]
注意“set trimspool on”命令仅在SQL*Plus3.2以上的版本(Oracle8 7.3和7.2 )中使用,