Oracle 创建匿名块?,3.PL

阅读: 评论:0

Oracle 创建匿名块?,3.PL

Oracle 创建匿名块?,3.PL

一、编写匿名块并执行

前文中介绍了PL/SQL的几种块的类型,其中匿名块是一种即时创建即时执行的块,下面使用sql*plus来演示一下如何创建一个匿名块:

SQL> show user-- 显示当前用户

USER is "HR"

SQL>1 DECLARE

2   v_fname VARCHAR2(20);

--DECLARE 部分,后文中将详解命名规则

3  BEGIN

4   SELECT first_name

5   INTO v_fname

6   FROM employees

7   WHERE employee_id=100;

8  END;

9  /

-- 在sql*plus中要结束PL/SQL的编写,使用斜杠/即可

PL/SQL procedure successfully completed.

-- 提示执行成功

二、将执行结果显示到屏幕上

虽然提示执行成功了,但是我们无法看到执行的结果,因此可以使用set命令来设置输出效果。

首先使用help set命令查看set的使用方法:

SQL> help set

SET

---

Sets a system variable to alter the SQL*Plusenvironment settings

for your currentsession. For example, to:

-   set the display width for data

-   customize HTML formatting

-   enable or disable printing of columnheadings

-   set the number of lines per page

SET system_variablevalue

where system_variableand value represent one of the following clauses:

BLO[CKTERMINATOR]{.|c|ON|OFF}           RECSEPCHAR {_|c}

CMDS[EP]{;|c|OFF|ON}                   SERVEROUT[PUT] {ON|OFF}                                                      -- 设置server端是否显示结果

COLSEP{_|text}                            [SIZE{n | UNLIMITED}]                                                     -- 显示的缓冲区的大小

CON[CAT]{.|c|ON|OFF}                     [FOR[MAT]  {WRA[PPED] |

SQL> set serveroutput on

--打开屏幕输出

SQL> l-- 使用L命令,从sql的命令历史中提取上一次执行的语句

1  DECLARE

2   v_fname VARCHAR2(20);

3  BEGIN

4   SELECT first_name

5   INTO v_fname

6   FROM employees

7   WHERE employee_id=100;

8* END;

SQL> /PL/SQL procedure successfully completed.

-- 还是没有看到输出结果,这是由于在之前的匿名块中并没有定义输出结果,所以需要重写这个匿--- 名块。

三、调用DBMS_OUTPUT.PUT_LINE()显示输出结果

SQL>

1  DECLARE

2     v_fname VARCHAR2(20);

3  BEGIN

4     SELECT first_name

5     INTO v_fname

6     FROM employees

7     WHERE employee_id = 100;

8     DBMS_OUTPUT.PUT_LINE('The result is ' ||v_fname);

--  使用包DBMS_OUTPUT中的方法PUT_LINE输出结果(类似于C语言中的printf())

--  但是使用DBMS_OUTPUT.PUT_LINE()前,必须确保serveroutput设为on了

--  其中|| 为连字符

9  END;

10  /

The result is Steven

--  可以看到输出结果为Steven了。

PL/SQL procedure successfully completed.

以上就是一个匿名块的创建过程。

本文发布于:2024-02-04 15:57:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170711076356877.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Oracle   PL
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23