一、编写匿名块并执行

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

SQL> show user

-- 显示当前用户
USER is "HR"

SQL>  

  1 DECLARE2   v_fname VARCHAR2(20);--DECLARE 部分,后文中将详解命名规则3  BEGIN4   SELECT first_name5   INTO v_fname6   FROM employees7   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 settingsfor 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 pageSET system_variablevaluewhere 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  DECLARE2   v_fname VARCHAR2(20);3  BEGIN4   SELECT first_name5   INTO v_fname6   FROM employees7   WHERE employee_id=100;8* END;

SQL> /

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

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

SQL>

 

  1  DECLARE2     v_fname VARCHAR2(20);3  BEGIN4     SELECT first_name5     INTO v_fname6     FROM employees7     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.

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

转载于:https://blog.51cto.com/wuyelan/1538784

3.PL_SQL——创建第一个匿名块(set,l,DBMS_OUTPUT.PUT_LINE())相关推荐

  1. mysql中编写匿名块_Oracle数据库之Oracle_PL/SQL(1) 匿名块

    本文主要向大家介绍了Oracle数据库之Oracle_PL/SQL(1) 匿名块,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 1. PL/SQL 简介 PL/SQL是一种比较 ...

  2. mysql中编写匿名块_Oracle_PL/SQL(1) 匿名块

    1. PL/SQL 简介 PL/SQL是一种比较复杂的程序设计语言, 用于从各种环境中访问Oracle数据库. 为什么使用PL/SQL? Orade是一种关系型数据库, 用来访问关系型数据库的语言是 ...

  3. Oracle课堂笔记之事务集合查询与PL/SQL匿名块(3)(实验习题)

    (一)sql语句 1.将您自己的姓名.当前系统时间作为雇员信息插入到雇员表emp中(雇员编号统一为3010.部门编号为40).插入后查看emp表以确认是否插入成功!请将运行结果截图. 2. 将部门名为 ...

  4. java 区块链使用_使用Java创建第一个区块链

    本系列教程的目的是帮助你了解如何开发区块链技术.在本教程中,我们将: 创建你的第一个非常基础的区块链. 实施简单的工作量证明系统(采矿). 探讨任何的可能性. 我假设你对面向对象编程有基本的了解.值得 ...

  5. Oracle PL/SQL匿名块

    转载:  http://blog.163.com/lyq_163_2009/blog/static/1340826962010712103822138/ PL/SQL单行注释使用--,多行注释使用/* ...

  6. mysql 匿名块_MySQL存储过程定义中的特性(characteristic)的含义

    MySQL的存储过程蛮啰嗦的,与MSSQL或者Oracle的存储过程相比,如果没有显式指定,他会隐含地指定一系列特性(characteristic)的默认值来创建存储过程 通常在使用图形界面工具进行存 ...

  7. 【PL/SQL】匿名块、存储过程、函数、触发器

    名词解释 子程序:PL/SQL的过程和函数统称为子程序. 匿名块:以DECLARE或BEGIN开始,每次提交都被编译.匿名块因为没有名称,所以不能在数据库中存储并且不能直接从其他PL/SQL块中调用. ...

  8. 什么是oracle 匿名块,Oracle PL/SQL匿名块

    PL/SQL单行注释使用--,多行注释使用/**/. PL/SQL中的变量类型主要有一下几种: binary_integer: 整数,主要用来技数而不是用来表示字段类型 number: 数字类型 ch ...

  9. 小程序云开发——创建第一个商品数据

    创建第一个商品数据 在云开发里的数据库 点击集合名称旁的加号 输入你想要的集合名称,点击确定 在你创建的集合,点击添加记录 输入字段和值 我输入的是name字段,命名为棒棒糖 点击加号 增加棒棒糖的价 ...

最新文章

  1. php的$_SERVER['HOSTNAME']
  2. win7 命令行设置DNS,建立集测环境
  3. SQL Server优化50法
  4. 数码相机控制点的自动定位检校
  5. 电脑入门完全自学手册_3DMAX零基础入门到精通的学习路线和教程
  6. QC安装与运行中的问题汇集
  7. mysql百万数据生成
  8. Python数学建模入门【1】
  9. 小程序插入html代码
  10. 幻读Java_关于幻读 - hellopretty - 博客园
  11. 献给正在纠结的朋友——转产品还是转测试
  12. nova云主机evacuate简单分析
  13. java 视频录制软件有哪些_有哪些好用的视频录制工具?
  14. java面试项目中遇到什么问题,大量教程
  15. ffmpeg 的下载与使用
  16. 使用jersey框架上传图片到图片服务器
  17. 美国电商是如何用大数据玩转“双十一”的?
  18. Delphi第三方插件的安装
  19. c++中的点号(.),冒号(:)和双冒号(::)运算符
  20. 修改 div 的滚动条的样式

热门文章

  1. On Tutorial with Caffe--a Hands DIY DL for Vision
  2. Java和操作系统交互细节
  3. 深入学习 History 对象管理浏览器会话历史
  4. mysql存储过程编写
  5. php环境被80端口占用无法使用什么办
  6. 关于hive数仓这个概念的一些理解+查看hive底层引擎是否是tez
  7. Flink EventTime和Watermarks原理结合代码分析(转载+解决+精简记录)
  8. make sure the Graphviz executables are on your systems‘ PATH
  9. xxx must either be declared abstract or implement abstract method ‘call(T1, T2)‘ in ‘Function2
  10. 市面上的hadoop书籍调研