「这是我参与2022首次更文挑战的第15天,活动详情查看:2022首次更文挑战」。
表关系设计
- 一对多
多的一方引用一的一方
- 一对一
两表共用主键
- 多对多
通过第三张表实现,建立两个一对多的关系
PLSQL
PL/SQL(Procedural Language/Structured Query Language,过程语言/结构化查询语言)
1. PL/SQL 基本格式
PL/SQL的块由变量声明、程序代码和异常处理代码3部分组成:
DECLARE (声明)
- 声明一些变量、常量、用户定义的数据类型及游标:
- name varchar(30); --声明时不设置值
- name varchar(30):=‘Jack’;--声明带有默认值
- name preson.name%type; --直接引用一个表的数据类型
BEGIN (主体)
- 主程序体,在这里可以加入各种合法语句
EXCEPTION (异常处理)
- 异常处理程序,当程序中出现错误时执行这一部分
END (结束)
2. PL/SQL有效字符
1.大小写英文字母
2.0~9的阿拉伯数字
3.下划线
4.操作符,包括+、-、*、/、<、>、!、=、@、%等
5.最大长度为30个字符,不区分大小写,但建议适当使用大小写,增加程序的可读性
3. 变/常量声明
Declare 声明变量(char, varchar2, date, number, boolean, long,integer,type,rowtype)
varl char(15);
married boolean := true;
psal number(7,2);
my_name emp.ename%type; 引用型变量,即my_name的类型与emp表中ename列的类型一样
emp_rec emp%row type; 记录集型变量
记录变量分量的引用: emp_rec.ename:='ADAMS';
声明常量: 常量名 constant 数据类型 := 值;
常量一旦定义,在以后的使用中其值不再改变,一些固定的大小为了防止有人改变,定义成常量。
例如 pass_score constant INTEGER := 60 ;
4. 输出
set severoutput on --SQL*Plus需要, PL/SQL Developer不需要
- declare
name varchar(10):='HelloWorld';
begin
dbms_output.put('test:'); --不换行输出,不能单独工作
dbms_output.put_line(name); --换行输出
end;
5. 接收用户的输入赋值 &变量名称
declare
begin
dbms_output.put_line('你输入的值是:' || '&word');
end;
6. into赋 值
用into关键字可以将查询结果的值,赋给变量:
declare
name varchar2(100);
id number;
begin
select id,name into id,name from student where id = 1;
dbms_output.put_line('id的值:'||id ||',name的值:'|| name);
end;