首页 > 数据库 >1.plsql入门

1.plsql入门

时间:2022-12-14 13:58:48浏览次数:71  
标签:... end plsql sal employees --- emp 入门

1.最基本PLSQL结构

declare
---声明的变量,类型,游标
begin
---程序的执行部分(类似于java里的main()方法)
dbms_output.put_line('hello world');
exception
---针对begin块中出现的异常,提供处理的机制
---when .... then ...
---when ....then ...
end;

2.变量赋值

2.1 自动获取类型跟固定类型

declare
---申明变量
v_sal employees.salary%type;--跟随数据表栏位类型,动态获取类型
v_email varchar2(20);
v_date date;
begin
---sql语句的操作:select ... into ...from ... where ...
select salary,email,date into v_sal,v_email,v_date from employees where a=100;
---打印
dbms_output.put_line(v_sal||','||v_email||','||v_date);
end;

2.2 不暴漏(记录类型)

declare
---申明一个记录类型
type emp_record is record(
v_sal employees.salary%type,--跟随数据表栏位类型,动态获取类型
v_email varchar2(20),
v_date date
);
---定义一个记录类型的成员变量
v_emp_record emp_record;
begin
---sql语句的操作:select ... into ...from ... where ...
select salary,email,date into v_emp_record from employees where a=100;
---打印
dbms_output.put_line(v_emp_record);
end;

2.3 整表为变量并赋值

declare
v_emp_record employees%rowtype;
begin
select * into v_emp_record from employees where a=100;
dbms_output.put_line(v_emp_record.employees_id);
end;

2.4 改

declare
v_emp_id number(10) ;
begin
v_emp_id :=123;
update employees set salary=99 where a=v_emp_id;
dbms_output.put_line('执行成功');
end;

4.基本语法格式之流程控制

4.1 条件控制(两种)
方式一:if ... then elsif then ... else ... end if;
方式二:case ... when ... then ... end;
4.2 循环结构(三种)
方式一:loop ... exit when ... end loop;
方式二:while ... loop ... end loop;
方式三:for i in ... loop ... end loop;
4.3 goto , exit

5.基本语法之游标的使用

在plsql程序中,对于处理多行记录的事务经常使用游标来实现

declare
v_sal employees.salary%type
--定义游标
cursor emp_sal_cursor is select salary from employees where dep_id=80;
--打开游标
open emp_sal_cursor;
--提取游标
fetch emp_sal_cursor into v_sal;
while emp_sal_cursor%found loop
dbms_output.put_line('salary'||v_sal);
fetch emp_sal_cursor into v_sal;
end loop;
--关闭游标
close emp_sal_cursor;
begin
end;

6.基本语法之异常的处理(三种方式)

异常情况处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理预定义的错误和自定义错误.由于plsql程序块一但产生异常而没有指出如何处理时,程序就会自动终止整个程序运行.

7.会写一个存储函数(有返回值),存储过程(没有返回值)

8.会写一个触发器

在某种情况下触发,如增删改
触发器组成:

  • 触发事件
  • 触发时间
  • 触发器本身
  • 触发频率

9.plsql注释

9.1 单行注释使用:--

9.2 多行注释使用:/* ..... */

10.小提示

if sql%notfound then dbms_output.put_line(‘查无此人’);

标签:...,end,plsql,sal,employees,---,emp,入门
From: https://www.cnblogs.com/mxx520/p/16981838.html

相关文章

  • Nacos-配置中心,特性,启动,集成mysql,快速入门
    Nacos-配置管理目录Nacos-配置管理1.什么是配置中心1.1什么是配置1.2什么是配置中心2Nacos****简介2.1主流配置中心对比2.2Nacos****简介2.3Nacos****特性3Na......
  • Go语言超全详解(入门级)
    Go语言超全详解(入门级)1.Go语言的出现在具体学习go语言的基础语法之前,我们来了解一下go语言出现的时机及其特点。Go语言最初由Google公司的RobertGriesemer、KenTho......
  • GO语言基础 为什么我要学习Golang以及GO语言入门普及
    作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希望大家一起进......
  • Vuex极速入门
    01、什么是Vuex?1.1、为什么需要状态管理?在复杂的系统中,我们会把系统按照业务逻辑拆分为多个层次、多个模块,采用组件式的开发方式。而此时不同模块、父子模块之间的通信......
  • mybatis入门案例
    创建模块,导入坐标:<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></prop......
  • Proj4.js使用初步入门
    一、基础知识在正式使用Proj4.js时,我们首先需要了解下有关各种投影的参数定义(例如:椭球长半轴、扁率、原点纬线、中央经线、两条标准纬线、东偏移量、北偏移量和单位等),具......
  • Activity7学习入门(六)
    官网地址:https://activiti.gitbook.io/activiti-7-developers-guide/components/activiti-cloud-applicationActivitiCloudApplicationActiviti云应用是由Activiti云核......
  • 前端入门教程:CSS标准盒模型和怪异盒模型区别
    理解盒模型:CSS3中的盒模型有以下两种:标准盒模型、IE盒子模型(怪异盒模型),盒模型是由4个部分组成,由内向外分别是content(下图蓝色部分)、padding、border、margin盒模型有5......
  • Activity7入门学习(三)
    官网地址:https://activiti.gitbook.io/activiti-7-developers-guide/componentsComponentsActivitiCloud提供了一套基本的构建模块,可以分为3个单独的组:.ActivitiClou......
  • Activity7入门学习(四)
    官网地址:https://activiti.gitbook.io/activiti-7-developers-guide/components/spring-cloud从Activiti框架的角度来看,我们依赖于SpringBoot/SpringCloud/SpringC......