方便自己查询特做小记:
-- 建索引----------------------------------------------------------------------------
--create unique index yxd_student_index on yxd_student(id)
--create unique index yxd_teacher_index on yxd_teacher(id)
--create unique index yxd_course_index on yxd_course(id)
--创建存储过程-----------------------------------------------------------------------
--(1)存储过程允许标准组件式编程,在服务器端运行,执行速度快。
--(2) 存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从 高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
--(3) 确保数据库的安全。使用存储过程可以完成所有数据库操作,并可通过编程方式控制 上述操作对数据库信息访问的权限。
--(4) 自动完成需要预先执行的任务。存储过程可以在系统启动时自动执行,而不必在系统启动后再进行手工操作,大大方便了用户的使用,可以自动完成一些需要预先执行的任务
/*
if exists(select name from sysobjects where name='yxd_student_pro' and type='p')
drop procedure yxd_student_pro
go
create procedure yxd_student_pro
@id int
as
select * from yxd_student s where s.id = @id
go
--调用存储过程-----------------------------------------------------------------------
exec yxd_student_pro @id=1001
*/
/*
if exists(select name from sysobjects where name='yxd_student_total' and type='p')
drop procedure yxd_student_total
go
create procedure yxd_student_total
@name varchar(20),@total float output
as
select @total=sum(ysc.score)
from yxd_student ys,yxd_student_course ysc
where ys.name=@name and ys.id = ysc.student_id
go
declare @num float
exec yxd_student_total '张三',@num output
print @num
go
*/
--所有存储过程的名字都存放在sysobjects表中,源代码放在系统表syscomments中--------------
--select * from sysobjects
--select * from syscomments
--exec sp_help 'yxd_student_total' --用于显示存储过程的参数及其数据类型
/*
---创建触发器-------------------------------------------------------------------------
---触发器是自动的:当对表中的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。
---触发器可以通过数据库中的相关表进行层叠更改。
---触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。
use T_Student
if exists (select name from sysobjects where name='reminder' and type='TR')
drop trigger reminder
go
create trigger reminder on student
for insert
as
declare @id int
select @id=id from inserted
insert into message([message],student_id) values('插入记录',@id)
go
insert into student(name) values('aaa')
*/
---------------------------------------------------------------------------------------
/*
if exists (select name from sysobjects where name='l' and type='TR')
drop trigger l
go
create trigger l on student
for update
as
if update(name)
begin
raiserror('禁止修改学生name',16,10)
rollback transaction
end
--insert into student(name) values('aaa')
go
update student set name = 'cccc' where id=1002
*/
--创建视图---------------------------------------------------------------
/*
create view stuview
as
select id,name from yxd_student
go
exec sp_helptext 'stuview'
*/
--select * from stuview
---创建游标--------------------
use yaoxingda
go
if CURSOR_STATUS('global','cur') <> -3 --状态-3表示游标不存在
begin
close cur
deallocate cur
end
drop trigger updatetr;--删除在update操作上建立的触发器(祸害啊!!!)
declare cur cursor scroll dynamic --声明动态游标
for select id,name from yxd_student
FOR UPDATE
go
declare @id int,@name char(20)
open cur
fetch first from cur into @id,@name
while @@FETCH_STATUS=0
begin
if @name='李四'
begin
begin transaction
print '更新中....'
update yxd_student set age=age+1 where CURRENT OF cur
print '更新完毕~'
commit;
end
else
begin
print '继续找'
end
fetch next from cur into @id,@name
end
go
select * from yxd_student;
分享到:
相关推荐
### 四、实验小结 通过以上实验,你应能熟练掌握T-SQL中的数据类型定义、变量声明以及流程控制语句的使用。同时,也理解了如何在SQL Server中处理逻辑判断和循环计算。在实际操作中,记得及时记录和分析实验结果,...
Transact-SQL(T-SQL)是Microsoft SQL Server使用的编程语言,与PL/SQL类似,但存在一些关键差异。T-SQL在语法上更接近标准SQL,而PL/SQL则提供了更丰富的过程编程特性。例如,PL/SQL有声明变量、异常处理和包...
#### 五、小结 - 本课程通过理论与实践相结合的方式,深入浅出地介绍了SQL Server中的T-SQL语法及相关知识点,为学生提供了丰富的案例和练习机会。 - 通过这些知识点的学习,学生能够更好地理解如何使用T-SQL进行...
#### 小结: 通过上述步骤,不仅可以顺利完成SQL Server 2008的安装,还可以深入了解其各组件的功能和使用方法,为后续的学习和工作打下坚实的基础。在实际操作过程中,需要注意每一步的具体设置,确保安装配置符合...
【SQL Server 数据库教案】 本教程旨在教授SQL Server数据库的相关知识,包括安装配置、数据类型、数据库和数据表的管理。...每章结束后的复习、小结和课堂练习有助于巩固所学知识,确保学生能够理解和应用所学内容。
#### 小结 本文介绍了SQL Server中T-SQL函数的基本概念,包括函数的结构、参数、确定性和非确定性函数的区别,以及如何在函数中使用用户变量。这些基础知识对于高效地使用SQL Server进行数据处理至关重要。后续章节...
什么是存储过程: 存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),...小结:总之存储过程是好东西,在做项目时属于必备
#### 小结 通过本次实验,我们不仅深入了解了SQL Server的安全机制,还掌握了如何通过图形界面和T-SQL脚本来管理登录账户、用户帐户和角色。这对于确保数据库的安全性和合规性至关重要。此外,通过权限分配的实践...
六、实验小结: 通过本实验,学生可以熟练掌握基本表的插入、删除与修改,并为后继学习作准备。本实验涉及到 SQL Server Management Studio 的使用、基本表的插入、删除与修改、T-SQL 语句对基本表的定义进行删除与...
《SQL Server 2000入门上机指导》是一本非常适合初学者的SQL教程,它主要涵盖了SQL Server 2000的基本操作和核心概念,旨在帮助读者快速掌握...每一项实验都配有小结,帮助你巩固所学知识,并为下一次实验做好准备。
四、实验小结 通过本实验,学生学会了: 1. 连接查询、嵌套查询、集合查询。 2. 对数据进行插入、修改、删除等操作。 3. 视图的创建、查找、更新。 五、数据库系统原理知识点 1. 连接查询:连接查询是指将两个或...
#### 小结 通过本次实验的学习,学习者不仅能够熟练掌握如何使用SQL Server Management Studio的对象资源管理器进行数据表的增删改查操作,还能深入理解T-SQL语言在实际应用中的强大功能。这对于日后从事数据库管理...
### 小结 《Beginning SQL Server 2008 for Developers: From Novice to Professional》不仅是一本详尽的技术手册,更是一本实用的操作指南。它从基础理论入手,逐渐深入到高级主题,通过大量的实战案例加深了读者对...
### ibatis 学习小结笔记 #### 一、ibatis 概述 ibatis 是一个基于 Java 的持久层框架,它提供了一种简便的方式来处理关系型数据库与 Java 对象之间的映射(O/R Mapping)。ibatis 在设计上强调的是 SQL 语句的...
本教程的小结强调了 T-SQL 语句的四种基本操作(INSERT、UPDATE、DELETE、SELECT)的格式和使用,同时指出数据库的备份与还原是难点。课后作业设计了实际操作的练习,如分离并附加数据库、在学生表中添加字段并备份...
例如,MS SQL SERVER中的存储过程可能支持更复杂的T-SQL语法,而MySQL的存储过程则更侧重于SQL标准的实现。理解这些差异可以帮助开发者更好地适应不同数据库环境下的开发工作。 总之,MySQL的存储过程是数据库管理...
#### 四、实验小结 通过本次实验的学习和操作,初学者不仅能够掌握视图、索引和数据库关系图的基本操作技能,还能够深入了解它们在数据库管理和优化中的重要作用。这些技能对于后续深入学习数据库管理和开发具有...
SQLServer的脚本和批处理是数据库管理与开发中常用的操作方式,对于SQLServer的学习者来说,理解并熟练掌握这些指令至关重要。本文将对这两方面进行详细的总结。 一、脚本基础 1. `USE`语句:`USE`用于切换当前...
#### 小结 通过本实验的学习,学生不仅能够掌握SQL Server 2008中数据表的创建、修改和删除方法,还能够深入理解不同类型的约束及其作用。这对于今后进行数据库设计和管理具有重要意义。此外,实验过程中还涉及到了...
1.4 本章小结 第2章 SQL Server管理工具 2.1 联机丛书 2.2 SQLServer配置管理器 2.2.1 服务管理 2.2.2 网络配置 2.2.3 协议 2.2.4 客户端 2.3 SQLServer Management Studio 2.3.1 启动Management Studio 2.3.2 ...