




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
kok电子竞技:文档简介
北京传智播客教育数据库开发及ADO.Net讲师:邹华栋智言在你生命的最初30年中,你养成习惯。在你生命的最后30年中,你的习惯决定了你。视图_View基于书籍表和类别表,’产生’一张虚拟表—视图selectb_idASID,c_nameas类别,b_titleas书名fromBook,Categorywhereb_cid=c_id视图概述视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上视图在操作上和数据表没有什么区别,但两者的差异是其本质是不同:数据表是实际存储记录的地方,然而视图并不保存任何记录,它存储的实际上是查询语句相同的数据表,根据不同用户的不同需求,可以创建不同的视图(不同的查询语句)优点:筛选表中的行防止未经许可的用户访问敏感数据降低数据库的复杂程度局部变量_先声明再赋值
声明局部变量
DECLARE
@变量名数据类型DECLARE@bookNamevarchar(20)DECLARE@bIdint
赋值
SET@变量名=值--set用于普通的赋值
SELECT@变量名=值--用于从表中查询数据并赋值例如:SET@bookName=‘家宝’SELECT@bookName=b_titleFROMBookWHEREb_id=2例:declare@moneymoney--声明变量set@money=2000–赋值select@money–查询变量值请从Book表中找出比书名为.NETMVC3价格小的书籍信息declare@momoney--声明变量select@mo=b_moneyfromBookwhere
b_title=‘.NETMVC3‘--赋值select*fromBookwhereb_money<@mo--使用变量变量种类变量分为:局部变量:局部变量必须以标记@作为前缀,如@Ageint局部变量:先声明,再赋值全局变量(系统变量):全局变量必须以标记@@作为前缀,如@@version全局变量由系统定义和维护,我们只能读。荒苄薷娜直淞康闹等直淞勘淞亢錊@ERROR最后一个T-SQL错误的错误号@@IDENTITY最后一次插入的标识值@@LANGUAGE当前使用的语言的名称@@MAX_CONNECTIONS可以创建的同时连接的最大数目@@ROWCOUNT 受上一个SQL语句影响的行数@@SERVERNAME本地服务器的名称@@TRANSCOUNT 当前连接打开的事务数@@VERSION
SQLServer的版本信息IFELSEIF(条件表达式)
BEGIN--相当于C#里的{
语句1
……
END--相当于C#里的}ELSE
BEGIN
语句1
……
END问题:统计并显示所有书籍价格(b_money)的平均值,如果平均价格在50以上,显示“A“,并显示平均价格最高的2本书;如果在50以下,显示“B“,并显示平均价格最少的2本书。分析:第一步,统计平均价格存入临时变量;第二步,用IF-ELSE判断;例:WHILE循环WHILE(条件表达式)
BEGIN
--相当于C#里的{
语句……
BREAK
END--相当于C#里的}问题:
书籍价格上涨,确保每本书价格最少50元。提价:先每本都加2元,看是否都价格达标,如果没有全部达标,每本再加2元,再看是否都达标,如此反复提价,直到所有书都达标为止。分析:
第一步,统计没达标的本数;
第二步,如果有书没通过,提价;
第三步,循环判断。例:事务-为什么需要事务如,借钱问题:假定钱从A转到B,至少需要两步:A的资金减少然后B的资金相应增加
UPDATEbankSETuMoney=uMoney-1000WHEREuName='家宝‘
@@errorUPDATEbankSETuMoney=uMoney+1000WHEREuName='奥巴马‘@@error--查看结果。SELECT*FROMbank会否出问题?什么是事务(Transaction)指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)--也就是由多个sql语句组成,必须作为一个整体执行这些sql语句作为一个整体一起向系统提交,要么都执行、要么都不执行语法步骤:开始事务:BEGINTRANSACTION事务提交:COMMITTRANSACTION事务回滚:ROLLBACKTRANSACTION判断某条语句执行是否出错:全局变量@@ERROR;@@ERROR只能判断当前一条T-SQL语句执行是否有错,为了判断事务中所有T-SQL语句是否有错,我们需要对错误进行累计;例:SET@errorSum=@errorSum+@@error存储过程存储过程就像数据库中运行方法(函数)和C#里的方法一样,由存储过程名/存储过程参数组成/可以有返回结果。前面学的ifelse/while/变量等,都可以在存储过程中使用优点:执行速度更快允许模块化程序设计提高系统安全性减少网络流通量系统存储过程由系统定义,存放在master数据库中名称以“sp_”开头或”xp_”开头自定义存储过程由用户在自己的数据库中创建的存储过程系统存储过程系统存储过程说明sp_databases列出服务器上的所有数据库。sp_helpdb报告有关指定数据库或所有数据库的信息sp_renamedb更改数据库的名称sp_tables返回当前环境下可查询的对象的列表sp_columns回某个表列的信息sp_help查看某个表的所有信息sp_helpconstraint查看某个表的约束sp_helpindex查看某个表的索引sp_stored_procedures列出当前环境中的所有存储过程。sp_password添加或修改登录帐户的密码。sp_helptext显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本。创建存储过程定义存储过程的语法
CREATE
PROC[EDURE]存储过程名@参数1数据类型=默认值
OUTPUT,@参数n数据类型=默认值OUTPUT
AS
SQL语句参数说明:参数可选参数分为输入参数、输出参数输入参数允许有默认值EXEC
过程名
[参数]调用带参数的存储过程无参数的存储过程调用:Execpro_GetAge有参数的存储过程两种调用法:EXECproGetPageData60,55按次序EXECproGetPageData@labPass=55,@writtenPass=60--参数名参数有默认值时:EXECproGetPageData
--都用默认值EXECproGetPageData
1--页容量(@pageSize)默认值EXECproGetPageData
1,5--不用默认值问题:如果我只想设置页容量(第二个参数),页码使用默认值呢?怎么办?存储过程中使用输出参数如果希望在存储过程中查询当前页对应的结果集,而且还想产生总页数呢?触发器触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。触发器是一个功能强大的工具,在表中数据发生变化时自动强制执行。触发器可以用于SQLServer约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。那究竟何为触发器?在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert,Update,Delete事件常用语法CREATE
TRIGGER
triggerName
ONTablefor
UPDATE|INSERT|DELETEASbegin…end触发器-更新CREATE
TRIGGERtestForFunONdbo.Categoryfor
UPDATEASbeginselect*frombookendupdateCategorysetc_name='Android2'wherec_id=3触发器-删除CREATE
TRIGGERtestForDel
ONdbo.Categoryfor
delete
ASbeginselect*frombookenddeleteCategorysetc_name='Android2'wherec_id=3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
kok电子竞技:最新文档
- GB/T 45398-2025信息技术众包服务平台功能通用要求
- 江苏省南京联合体【栖霞、江宁、雨花】重点达标名校2025年初三中考一模试卷化学试题含解析
- 湖南省长沙市浏阳市2025届数学三下期末综合测试模拟试题含解析
- 宁夏葡萄酒与防沙治沙职业技术学院《大学英语Ⅱ(听力)》2023-2024学年第二学期期末试卷
- 武汉纺织大学外经贸学院《新药研究与开发A》2023-2024学年第一学期期末试卷
- 辽宁省沈阳市铁西区达标名校2025年下学期初三生物试题中考仿真模拟考试试卷(四)含解析
- 内蒙古医科大学《智能制造系统架构》2023-2024学年第二学期期末试卷
- 延安大学《木版画术科技能教学》2023-2024学年第二学期期末试卷
- 湛江幼儿师范专科学校《口腔临床医学概论(口腔修复学)》2023-2024学年第一学期期末试卷
- 四川铁道职业学院《钢筋混凝土与砌体结构设计》2023-2024学年第二学期期末试卷
- (二模)咸阳市2025年高考模拟检测(二)语文试卷(含kok电子竞技)
- 2025高校教资《高等教育法规》核心备考题库(含典型题、重点题)
- sl582-2012水工金属结构制造安装质量检验通则
- 行政事业单位财务知识培训
- 眼科中医诊疗方案圆翳内障
- 路基路面压实度评定自动计算表-标准-
- 信息技术(基础模块)课件 模块三 电子表格处理
- 2025中考英语热点话题阅读《哪吒2魔童闹海》
- 《实施方法论》课件
- 疟疾2025培训课件
- 流行性感冒诊疗方案(2025版)解读课件
评论
0/150
提交评论