数据库第八章-触发器

概述 触发器是每当与表关联的事件发生时自动调用的函数 事件包括(insert,update,delete,truncate截断) 两种主要触发器 行级触发器(插入、修改、删除一行数据,触发一次) 语句级触发器(语句执行一次,触发器执行一次,与行无关) 区别在于触发触发器的时间和次数(如果发出update影响20行的语句,则行级触发器被调用20次,而…
数据库第八章-存储过程

数据库编程 函数 存储过程 触发器 案例一 根据供应商号在S表中删除指定供应商信息 create or replace procedure delete_s(p_sno char(2)) language 'plpgsql' as $$ declare begin if exists(select * from s where sno=p_sno)…
数据库第八章-函数

一、数据库编程: 函数 存储过程 触发器 二、函数 1、函数的基本格式 create [or replace] function function_name (argument) returnes return_datatype as $variable_name$ declare declaration [...] begin [...] <…
数据库第三章-Practice(多表查询)

查询语句 (1)查询每个工程项目及其零件使用情况。(两表连接) select j.jno,j.jname,j.city,sno,pno,qty from j,spj where j.jno=spj.jno; (2)查询每个工程项目及其零件使用情况,包括没有使用零件的工程项目。(两表外连接) select * from j left outer jo…
数据库第三章-Practice(单表查询)

建表 理解英语单词有助于记住表的定义 - S(supplier)供应商表:(sno供应商码,sname供应商姓名,status供应商状态,city供应商所在城市) - P(part)零件表:(pno零件代码,npname零件名,color零件颜色,weight重量) - J(无理取闹的一个表示方式,没有英语):(jno工程项目代码,jname工程项…
数据库第三章-视图

视图的特点: 虚表,是从一个或几个基本表(或视图)导出的表 数据库中只存放视图的定义,不存放视图对应点数据 基表中的数据发生变化,从视图中查询出的数据也随之改变 定义视图 语句格式 create view <视图名> [(<列名>,[,<列名>]...)] as <子查询> [with check o…
数据库第三章-更新数据

插入数据 插入一个新元组 语句格式 insert into <表名>[(<属性列1>[,<属性列2>...])] values (<常量1>[,<常量2>]...) into子句: - 属性列的顺序可与定义表的顺序不一致 - 可以不指定属性列 - 可以指定部分属性列 values子句: -…
数据库第三章-索引的建立和删除

索引的建立和删除 建立索引的目的:加快查询速度 谁可以建立索引 DBA或表的属主(建立表的人) DBMS自动建立以下列上的索引 Primary key Unique 谁维护索引 DBMS自动完成 使用索引 索引的代价:占用空间,降低数据更新速度 索引是关系数据库的内部实现技术,属于内模式范畴 DBMS自动选择是否使用索引以及使用哪些索引 索引文件相…
数据库第三章-连接查询

连接查询 连接查询:同时涉及多个表的查询 连接条件或连接谓词:用来连接两个表的条件 一般格式 [<表名1>.]<列名1> = [<表名2>.]<列名2>连接字段:连接谓词中的列名称连接条件中的各连接字段类型必须是可比的,但名字不必是相同的 等值与非等值连接查询 等值连接,连接运算符为= select …
数据库第三章-单表查询
数据案例 insert into student values('201215121','李勇','男',20,'CS'); insert into student values('201215122','刘晨','女',18,'CS'); insert into student values('201215123','王敏','女',18,'MA…