- 0
- 0
- 约1.36万字
- 约 33页
- 2018-01-13 发布于河南
- 举报
第九章 Transact-SQL编程
第九章 Transact–SQL编程
* 批量(批处理)
* 存储过程
* 触发器
§9.1 批量与流程控制语句
一、批量(批处理)的基本概念
1、批处理是一起提交SQL Server执行的一组SQL语句,以“go”结束;
批处理方式可以节省系统开销。
例1:
USE pubs
IF EXISTS (SELECT * from master.sysxlogins where name=yi)
IF EXISTS (SELECT * from pubs.sysusers where name=yi and uid16382)
sp_droplogin yi
sp_addlogin chen
sp_grantdbaccess chen,chen
GO
例2:
USE Pubs
IF EXISTS (select * from sysobjects
where id=object_id(vwprice)
and OBJECTPROPERTY(id, IsView)=1)
DROP VIEW vwprice
GO
CREATE VIEW vwprice
as
select title_id,title,price from titles
GO
SELECT * FROM vwprice where title like C%
GO
2、不可以在数据库中象保存其它数据库对象一样保存批处理,
但是可以用记事本在脚本文件中存储脚本。
3、建立批处理的限制:
(1)不能在同一个批量中绑定规则和缺省到列上,再使用它们。
(2)不能在同一个批量中定义和使用CHECK约束
(3) 不能在同一个批量中撤消对象并重新创建它们
(4) 不能在同一个批量中改变表和引用新列
(5) 可以在批量中用EXECUTE语句执行存储过程
二、批量中的语句
(一)打印消息
1、使用PRINT 或 SELECT 语句
在屏幕上显示用户定义的消息或变量的内容。
2、PRINT语句以文本形式显示消息或变量内容,不输出附加信息
3、SELECT语句以表格形式显示消息或变量内容
例如:
DECLARE @MyName char (50)
SELECT @MyName = Coomar Chris
PRINT @MyName
SELECT @MyName
(二)注解入口
1.多行注解入口包含在/* 和 */中
2.单行注解入口以--(两个连字符)开始
(三)控制流语言
* IF…ELSE语句
* CASE语句
* WHILE语句
注意:
如果在分支或循环体中有多行T-SQL语句要执行,那么这些语句必须包含在关键字BEGIN...END块中。BEGIN…END块可以嵌套。
1.使用IF 语句
(1)、IF…ELSE…
IF 条件1
SQL语句/集合
[ ELSE [条件2] ]
SQL语句/集合
工作任务一:
根据用户设置的书籍类型,将相应类型书籍的单价提高6美元,并显示该类型书籍的最新价格情况。若无此类型书籍,则报告“Type Input Error!”信息。
declare @type varchar(20)
set @type=aaaa
if exists(select * from titles where type=@type)
begin
update titles set price=price+6 where type=@type
select title,type,price from titles where type=@type
end
else
print Type Input Error!
go
2、CASE语句
(1)在有多个条件需要求值的情况下,用CASE语句的编程构造
CASE [输入表达式]
WHEN 条件1 THEN 结果表达式1
[[WHEN 条件2 THEN 结果表达式2]
[...]]
End
工作任务二:
为“0736”号出版商出版书籍的平均单价划分档次,
平均单价超过30美元为“高价”,
低于10美元为“低价”,
两者之间为“基本价”。
declare @AvgPrice money,@PriceDesc char(6)
set @avgprice=(select avg(price) from titles where pub_id=0736)
set @PriceDesc=
case
when @avgprice=30 t
您可能关注的文档
最近下载
- 传统基材润湿流平(氟碳硅烷嵌段).pdf VIP
- 南京财经大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- C4D课程考试试题及参考答案.doc VIP
- 2025年陕西公务员申论考试真题及答案B卷.docx VIP
- [渝粤教育] 西北工业大学 航天器控制原理 mooc 资料.docx VIP
- 航天器控制原理(西北工业大学)中国大学MOOC 慕课 章节测验 期末考试答案.pdf VIP
- 精品解析:2025年陕西省中考数学试题(原卷版).docx VIP
- 四维度主力跟踪.pdf
- 2022年陕西省中考数学真题(原卷版).docx VIP
- 大众网关控制器和bcm车身控制模块针脚定义非常有用.pdf VIP
原创力文档

文档评论(0)