数据库实验报告
2
《数据库应用实践》课程报告
学号: 陈泽泽
姓名: 031202110
年级: 2012级
学院: 数计学院储在数据库服务器,性能高。
(2)允许模块化设计。
只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改 。
(3)提高系统安全性。
可将存储过程作为用户存取数据的管道。可以限制用户对数据表的存取权限,建立特定的存储过程供用户使用,完成对数据的访问。
存储过程的定义文本可以被加密,使用户不能查看其内容。
(4)减少网络流量:
一个需要数百行Transact-SQL代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百
18
行代码。
定义存储过程的语法
CREATE PROC[EDURE] 存储过程名
@参数1 数据类型 = 默认值,
…… ,
@参数n 数据类型 OUTPUT
AS
SQL语句
GO
和C语言的函数一样,参数可选
参数分为输入参数、输出参数
输入参数允许有默认值
例如:
18
调用存储过程
EXECUTE(执行)语句用来调用存储过程
调用的语法
EXEC 过程名 [参数]
19
修改,更新存储:
语法:
UPDATE |UPDATA 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
例如:
20
2、触发器的创建与管理。
触发器的类型:
INSERT触发器:当向表中插入数据时触发,自动执行触发器所定义的SQL语句。
UPDATE触发器:当更新表中某列多列时触发,自动执行触发器所定义的SQL语句。
DELETE触发器:当删除表中记录时触发,自动执行触发器所定义的SQL语句
serted 和deleted 表
触发器触发时:
1、系统自动在内存中创建deleted表或inserted表
2、只读,不允许修改;触发器执行完成后,自动删除
inserted 表
1、临时保存了插入或更新后的记录行
2、可以从inserted表中检查插入的数据是否满足业务需求
3、如果不满足,则向用户报告错误消息,并回滚插入操作
21
deleted 表
1、临时保存了删除或更新前的记录行
2、可以从deleted表中检查被删除的数据是否满足业务需求
3、如果不满足,则向用户报告错误消息,并回滚插入操作
创建触发器的语法:
CREATE TRIGGER trigger_name
ON table_name
[WITH ENCRYPTION]
FOR [DELETE, INSERT, UPDATE]
AS
T-SQL语句
GO
WITH ENCRYPTION表示加密触发器定义的SQL文本
DELETE, INSERT, UPDATE指定触发器的类型
insert触发器的工作原理:
,在表中插入数据行;
,向系统临时表inserted表中插入新行的备份(副本)
,确定是否需要回滚或执行其他操作。
例如下,创建触发器:
22
但插入数据时,调用触发器,效果如下:
(3)数据库备份与恢复
1、对所创建的数据库进行完整、差异、日志备份
(1)完整备份 使用BACKUP DATABASE语句实现完整备份。
语法格式如下:
BACKUP DATABASE 数据库名
TO < 备份设备 > [ ,...n ]
[ WITH { INIT或NOINIT} ]
23
参数说明:
*INIT或NOINIT:INIT表示新备份的数据覆盖当前备份设备上的每一项内容;NOINIT表示新备份的数据添加到备份设备上已有内容的后面。
>>
数据库实验报告(00001) 来自淘豆网m.daumloan.com转载请标明出处.