IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> PL/SQL简介 -> 正文阅读

[大数据]PL/SQL简介

目录

PL/SQL简介

PL/SQL块

1、语法

2、匿名块


PL/SQL简介

????????PL/SQL(Procedure Language/SQL) 程序语言是 Oracle 对 sql 语言的过程化扩展,指在 SQL 命令语言中增加了过程处理语句(如分支、循环等),使 SQL 语言具有过程处理能力。把SQL 语言的数据操纵能力与过程语言的数据处理能力结合起来,使得 PLSQL 面向过程但比过程语言简单、高效、灵活和实用。其基本语法结构为PLSQL块,参照下面的说明。

PL/SQL块

????????在PL / SQL中,最小的有意义的代码分组被称为块。块代码为变量声明和异常处理提供执行和作用域边界。PL / SQL允许您创建匿名块和命名块。命名块可以是包,过程,函数,触发器或对象类型。PL / SQL是SQL的过程语言扩展,它具有块结构。每一段代码都在块中执行。PL / SQL块最多有四个不同的段,其中只有一个是强制的:

1、语法

PL / SQL有四个关键字:

  • DECLARE:每个PL / SQL块都有一个声明部分。

????????这是为游标,数据类型定义,变量,嵌入函数和过程分配内存的位置。

  • BEGIN:每个PL / SQL块都有一个可执行部分。

????????它以关键字BEGIN开头。BEGIN标志着你把程序逻辑放在哪里的开始。并且每个PL / SQL程序必须至少有一行可执行代码,即使它是关键字NULL,这意味着没有操作。

  • EXCEPTION:每个PL / SQL块都有一个异常处理部分。

????????它以关键字EXCEPTION开头。这是您将捕获任何数据库或PL / SQL错误的地方。与声明部分一样,您不会使用异常处理部分,但它仍然存在。

  • END:每个PL / SQL块以关键字END结束。

2、匿名块

(1)匿名块不保存在数据库中。它们非常适合创建测试单元。匿名PL / SQL块的一般语法如下:

[ DECLARE ... declaration statements ... ] 
BEGIN ... one or more executable statements ... 
[ EXCEPTION 
... exception handler statements ... ] 
END; 

????????※?方括号表示语法的可选部分。您必须具有BEGIN和END语句,并且必须至少有一个可执行语句。

-- This is an anonymous procedure, so it has no name
declare
  /* 
   declare local cursors, variables, and methods here.
   We don't need to have a declaration section.
  */
begin
  -- You write your logic here
  null;  -- at least one command!
exception
  when NO_DATA_FOUND then
    raise_application_error(-20000, 'No Data Found!');
end;
/   -- the forward slash says execute this procedure

(2)这是一个最小的匿名块:

-- 告诉SQL * Plus在PL / SQL过程完成后,将您的会话的数据库输出回显到屏幕。注意,这是一个SQL * Plus命令,不是匿名块的一部分。
SET SERVEROUTPUT ON SIZE 1000000

BEGIN
? ?DBMS_OUTPUT.PUT_LINE(SYSDATE);
END;?
/
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:06:49  更:2022-06-08 19:07:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 21:34:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码