PL/SQL简介_什么是SQL数据库

PL/SQL简介_什么是SQL数据库PL/SQL

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

目录

PL/SQL简介

PL/SQL块

1、语法

2、匿名块


PL/SQL简介

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

PL/SQL块

        在 PL/SQL 中,最小的有意义的代码分组被称为块。块代码为变量声明和异常处理提供执行和作用域边界。PL/SQL 允许您创建匿名块和命名块。命名块可以是包、过程、函数、触发器或对象类型。PL/SQL 是 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、匿名块

  • 匿名块不保存在数据库中。它们非常适合创建测试单元。匿名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
  • 最小的匿名块:
-- 告诉SQL * Plus在PL / SQL过程完成后,将您的会话的数据库输出回显到屏幕。注意,这是一个SQL * Plus命令,不是匿名块的一部分。
SET SERVEROUTPUT ON SIZE 1000000

BEGIN
   DBMS_OUTPUT.PUT_LINE(SYSDATE);
END; 
/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182739.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 送书 | 《深入浅出Python机器学习》

    送书 | 《深入浅出Python机器学习》【导读】机器学习正在迅速改变我们的世界。我们几乎每天都会读到机器学习如何改变日常的生活。如果你在淘宝或者京东这样的电子商务网站购买商品,或者在爱奇艺或是腾讯视频这样的视频网站观看节目,甚…

    2022年10月17日
    1
  • 数据分析师面试准备

    数据分析师面试准备数据分析师面试准备惊醒。突然发现再要一个月就要过年了,过了年再过个两周就三月了。三月……又到了招聘季。

    2022年6月3日
    33
  • 怎么用python连接数据库_python连接pg数据库

    怎么用python连接数据库_python连接pg数据库实现步骤:一、使用mysql.connector1、导入msql的包2、创建连接对象3、使用cursor方法获取操作游标4、fetchall方法获取数据,for循环进行输出5、最后关闭连接对象importmysql.connector#创建连接对象#参数分别为:ip地址,用户名,密码,库名mydb=mysql.connector.connector(host=”192.168.139.128″,user=”root”,passwd=”root”,

    2025年8月8日
    4
  • 【Simulink】粒子群算法(PSO)整定PID参数(附代码和讲解)

    【Simulink】粒子群算法(PSO)整定PID参数(附代码和讲解)本文提供粒子群算法简介和一个算法举例,提供粒子群算法仿真PID的M文件代码及simulink仿真。另外,本文还提供了一种动态simulink仿真方法,可以让M文件和simulink文件之间互相交换数据,实现仿真与程序的反馈,增加了仿真的灵活度。

    2022年6月10日
    81
  • mybatis中的动态sql表现为_MybatisPlus

    mybatis中的动态sql表现为_MybatisPlus如何分页查询Mybatis如何分页查询?Mysql中可以使用limit语句,但limit并不是标准SQL中的,如果是其它的数据库,则需要使用其它语句。MyBatis提供了RowBounds类,用于实现分页查询。RowBounds中有两个数字,offset和limit。MyBatis如何利用RowBounds

    2022年9月22日
    4
  • 用Dedecms5.7的arclist标签调用文章内容

    用Dedecms5.7的arclist标签调用文章内容

    2021年9月24日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号