PLSQL-基本语法与记录类型

简介: PLSQL-基本语法与记录类型

1.基本语法

–执行该句才会输出到控制台

set serveroutput on

declare
--声明的变量、类型和游标
begin
--程序的执行部门(类似于java中的main方法)
dbms_output.put_line('helloworld');//直接输出到控制台
exception
--针对begin块中出现的异常如何处理
--when...then...
--when...then...
--end;

memo1:

declare
--声明变量
--v_sal number(10,2) := 0 --[使用:=进行赋值操作,使用=进行比较操作];
v_sal employees.salary%type;--动态获取数据类型
v_email varchar2(20);
v_hire_date date;
begin
--sql语句的操作:select...into...from...where
select salary,email,hire_date into v_sal,v_email,v_hire_date from employees
where employee_id = 100;
--打印
dbms_output.put_line(v_sal||','||v_email||','||to_char(v_hire_date,'yyyy-mm-dd'));
end;

2.记录类型

declare
--声明记录类型
type emp_record is record(
v_sal employees.salary%type,--动态获取数据类型
v_email varchar2(20),//注意是逗号,最后一行不加
v_hire_date date
);
--定义一个记录类型的成员变量
v_emp_record emp_record;//类似于java中类与成员变量的关系
【--以employees表中的所有的列定义记录类型
--v_emp_record employees%rowtype;】
begin
--sql语句的操作:select...into...from...where
select salary,email,hire_date into
v_emp_record from employees
where employee_id = 100;
--打印
dbms_output.put_line(v_emp_record.v_sal||','||v_emp_record.v_email||','||to_char(v_emp_record.v_hire_date,'yyyy-mm-dd'));
end;
--------------memo2-修改-----------------------
declare
v_emp_id number(10);
begin
v_emp_id := 123;--进行赋值操作
update employees set salart = salart+100 where employee_id = v_emp_id;--这里是“=”
dbms_output.put_line('执行成功')
end;

3.游标与记录类型综合

declare
--声明一个记录类型
type emp_record is record(
v_sal employees.salary%type,
v_empid employees.employee_id%type
);
--声明一个记录类型的变量
v_emp_record emp_record;
--定义游标
cursor emp_sal_cursor is select salary ,employee_id from employees
where department_id = 80;
begin
--打开游标
open emp_sal_cursor;
--提取游标
fetch emp_sal_cursor into v_emp_record;
while emp_sal_cursor % found loop
dbms_output.put_line('emp_id :'||v_emp_record.v_empid||','||'salary :'||v_emp_record.v_sal);
fetch emp_sal_cursor into v_emp_record;
end loop;
--关闭游标
close emp_sal_cursor;
end;
目录
相关文章
|
3月前
|
SQL 存储 关系型数据库
PL/pgSQL 入门教程(一):语法篇
本教程为PL/pgSQL入门首篇,系统讲解其核心基础与语法规则。涵盖函数创建、块结构、变量声明、参数传递、返回类型及排序规则等关键知识点,助你掌握在PostgreSQL中编写高效存储过程与函数的必备技能,提升数据库逻辑处理能力。
|
3月前
|
SQL 存储 关系型数据库
PostgreSQL SQL函数语法详解
本文深入讲解PostgreSQL中SQL语言函数的编写,涵盖参数引用、返回类型(基类型/复合类型/集合)、输出参数、可变参数、默认值、多态函数及排序规则等核心特性,系统阐述其语法、行为与最佳实践。
|
5月前
银河麒麟申威系统安装nfs-utils-2.4.3-1.ky10.sw_64.rpm详细步骤(含依赖解决和NFS服务启动)
本文介绍在银河麒麟系统上安装NFS服务的完整步骤:先检查并卸载旧版本,再通过rpm命令安装指定版本的nfs-utils包,最后验证安装结果并可选启动NFS服务,确保共享功能正常使用。
|
设计模式 存储 安全
「全网最细 + 实战源码案例」设计模式——组合模式
组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次结构。它允许客户端以一致的方式对待单个对象和对象集合,简化了复杂结构的处理。组合模式包含三个主要组件:抽象组件(Component)、叶子节点(Leaf)和组合节点(Composite)。通过这种模式,客户端可以统一处理简单元素和复杂元素,而无需关心其内部结构。适用于需要实现树状对象结构或希望以相同方式处理简单和复杂元素的场景。优点包括支持树形结构、透明性和遵循开闭原则;缺点是可能引入不必要的复杂性和过度抽象。
454 22
|
Kubernetes Linux 容器
如何在centos中关闭swap分区
在CentOS中,关闭swap分区可以通过临时关闭和永久禁用两种方式实现。临时关闭swap分区适用于临时测试和故障排除,而永久禁用swap分区则需要修改 `/etc/fstab`文件。通过遵循上述步骤,可以确保系统在没有swap的情况下稳定运行。这对于某些应用场景(如Kubernetes集群)是必要的配置步骤。
1893 3
|
Oracle Java 关系型数据库
JAVA 那些事 - 聊聊那些易混淆的概念:JVM/JRE/JDK,openJDK/oracleJDK,JAVA SE/JAVA EE/Jakarta EE
JAVA 那些事 - 聊聊那些易混淆的概念:JVM/JRE/JDK,openJDK/oracleJDK,JAVA SE/JAVA EE/Jakarta EE
|
存储 canal 消息中间件
数据仓库系列(三)数仓分层的意义价值及如何设计数据分层
数据仓库系列(三)数仓分层的意义价值及如何设计数据分层
2216 0
数据仓库系列(三)数仓分层的意义价值及如何设计数据分层
|
算法 Java
介绍一下CAS算法的实现原理
【10月更文挑战第20天】介绍一下CAS算法的实现原理
667 0
|
安全 测试技术 数据安全/隐私保护
CVE-2022-21999 Windows Print Spooler(打印服务)特权提升漏洞
2021年6⽉29⽇,安全研究⼈员在GitHub上公开了CVE-2021-1675 Windows Print Spooler远程代码执⾏漏洞的PoC。该漏洞是Microsoft 6⽉星期⼆补丁⽇中公开的⼀个RCE漏洞,其存在于管理打印过程的Print Spooler (spoolsv.exe) 服务中,会影响所有 Windows系统版本。
499 1
|
应用服务中间件 nginx Windows
【报错】Windows下启动nginx报:bind() to 0.0.0.0:80 failed...
【报错】Windows下启动nginx报:bind() to 0.0.0.0:80 failed...
1208 0