29 Oracle数据库SQL开发之 SQLPlus使用——创建简单报表

本文介绍了如何在SQLPlus中创建简单报表,包括使用临时变量、已定义变量、向脚本传值、添加页眉页脚和计算小计。此外,还展示了如何使用BREAK和COMPUTE命令添加小计,以及SQLPlus的其他功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

29.Oracle数据库SQL开发之 SQLPlus使用——创建简单报表

欢迎转载,转载请标明出处:http://blog.youkuaiyun.com/notbaron/article/details/49722905

可以使用变量来创建用户可以运行的脚本。

SQL*PLUS并不是专门设计报表的工具。如果需要生成复杂的报表,应该使用诸如Oracle Reports之类的软件。

1.  脚本中使用临时变量

首先执行如下:

SET ECHO OFF

SET VERIFY OFF

 

SELECT product_id, name, price

FROM products

WHERE product_id = &v_product_id;

其中SET VERIFY OFF命令禁止验证消息。

运行结果如下:

store@PDB1> @report1.sql

Enter value for v_product_id: 2

 

PRODUCT_ID NAME                                PRICE

---------- ----------------------------------------

          2 Chemistry                                 30

2.  脚本中使用已定义变量

执行如下脚本:

SET ECHO OFF

SET VERIFY OFF

 

ACCEPT v_product_id NUMBER FORMAT 99 PROMPT 'Productid: '

 

SELECT product_id, name, price

FROM products

WHERE product_id = &v_product_id;

 

-- clean up

UNDEFINE v_product_id

执行如下:

store@PDB1> @report2.sql

Product id: 4

 

PRODUCT_ID NAME                                PRICE

---------- ----------------------------------------

          4 Tank War                              13.95

3.  向脚本中的变量传递值

执行如下脚本:

SET ECHO OFF

SET VERIFY OFF

 

SELECT product_id, name, price

FROM products

WHERE product_id = &1;

这个类似SHELL脚本,的$1变量,表示输入的第一个变量。

执行结果如下:

store@PDB1> @report3.sql 3

 

PRODUCT_ID NAME                                PRICE

---------- ----------------------------------------

          3 Supernova                            25.99

4.  添加页眉和页脚

TTILE和BTITLE可以向报表中添加页眉和页脚。

执行如下,脚本:

TTITLE LEFT 'Run date: ' _DATE CENTER 'Run by the 'SQL.USER ' user' RIGHT 'Page: ' FORMAT 999 SQL.PNO SKIP 2

 

BTITLE CENTER 'Thanks for running the report' RIGHT'Page: ' FORMAT 999 SQL.PNO

 

SET ECHO OFF

SET VERIFY OFF

SET PAGESIZE 30

SET LINESIZE 70

CLEAR COLUMNS

COLUMN product_id HEADING ID FORMAT 99

COLUMN name HEADING 'Product Name' FORMAT A20 WORD_WRAPPED

COLUMN description HEADING Description FORMAT A30WORD_WRAPPED

COLUMN price HEADING Price FORMAT $99.99

 

SELECT product_id, name, description, price

FROM products;

 

CLEAR COLUMNS

TTITLE OFF

BTITLE OFF

执行结果如下:

store@PDB1> @report5.sql

 

Run date: 07-NOV-15       Run by the STORE user               Page:   1

 

 IDProduct Name   Description                         Price

--- -------------------------------------------------- -------

  1Modern Science         A description ofmodern         $19.95

                             science

 

  2Chemistry          Introduction toChemistry     $30.00

  3Supernova                   A starexplodes               $25.99

  4Tank War            Action movie about afuture $13.95

                             war

 

  5 ZFiles                  Series onmysterious               $49.99

                             activities

 

  62412: The Return      Aliens return                    $14.95

  7Space Force 9    Adventures of heroes             $13.49

  8From Another Planet  Alien from anotherplanet   $12.99

                             lands on Earth

 

  9Classical Music The best classical music         $10.99

 10Pop 3                   The best popularmusic          $15.99

 11Creative Yell      Debut album                    $14.99

&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值