人大金仓数据库PL/SQL学习总结

1.概述

PL/SQL是一种程序语言,也叫做过程化SQL语言。

PL/SQL是数据库对SQL语句的扩展,在普通SQL语句的使用上增加了编程语言的特点,所以可以用来实现比较复杂的业务逻辑。

它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使得PL/SQL成为一个功能强大的事务处理语言。 PL/SQL的目的是联合数据库语言和过程语言。

2.PL/SQL块分类

匿名块:以Declare或begin开始,能够动态创建和执行过程代码的PL/SQL结构,每次需要编译执行,不存储在数据库中。

命名块:具有名称的pl/sql块,编译一次后,可多次执行,存储在数据块中。

存储过程:存储在数据库中的子过程,无返回值。

函数:存储在数据库中的子进程,有返回值

包:可容纳多个过程和函数的一个容器。

触发器:无需调用,满足需求的情况下,自动执行。

3.PL/SQL块的基本数据类型

ksql中的块结束符可通过\set SQLTERM命令设置

语法: \set SQLTERM sqltermchar

sqltermchar:任意一个符号,符号不符合规定时报错

单行注释:两个连接字符'_'开始,后面紧跟注释内容

多行注释:由/开头,以 /结尾

变量声明的语法:

name [CONSTANT] datatype [NOT NULL] [:=|DEFAULT default assignment];

name 声明变量或常量的名字 CONSTANT:声明的是一个常量,不加关键字则声明一个变量

datatype:变量的数据类型

Not NULL:变量赋值非空约束

default assignment:变量初始化,可以是表达式

a2 constant int :=10;
a3 char(20) not null default 'king'

参数模式分类:

IN 参数:输入参数,只能接收参数,不能修改

OUT参数:输出参数,用于输出值,会忽略传入的值,可修改并将参数值传递到当前存储过程以外的环境中

INOUT参数:兼容以上两种特性,能接受传入的实参值,在子程序内可修改,也可以输出。

标量类型

file

用户定义类型

file

PLSQL基本数据类型 -%type

  • %type

使用列属性或变量名加上%TYPE用来标识字段类型

用来表示一个和已有表字段具有相同类型的类型

除继承字段类型外,不能继承字段的其他属性

  • %rowtype

一个复合类型,叫做行变量

用来表示和一个现有的表或者视图的行类型相同的类型

一个%ROWTYPE类型变量,可存放SELECT检索结果集的一条记录

集合类型

关联数组具有唯一键值的集合类型

具有以下特性:

包含零或多个具有相同数据类型的元素 用户可按键值检索

键值可是整型等数值类型,也可以是字符串等非数值类型 键值连续且有序 只能用于PL/SQL环境

嵌套表

可变数组 更多信息,参见https://help.kingbase.com.cn/v8/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值