德信行事故车拍卖app拍卖网

创建一个带有输入参数的存储过程 proc_3-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
创建一个带有输入参数的存储过程 proc_3
来源:互联网 发表时间: 17:33:17 责任编辑:王亮字体:
为了帮助网友解决“创建一个带有输入参数的存储过程 proc_3”相关的问题,学网通过互联网对“创建一个带有输入参数的存储过程 proc_3”相关的解决方案进行了整理,用户详细问题包括:
成绩。然后执行该存储过程,要求字段包括,其功能是通过一个给定的学号、姓名、课程名,--显示出该学生所有选修课程的成绩情况:学号创建一个带有输入参数的存储过程【proc_3】
,具体解决方案如下:解决方案1:
S.cno where S.grade From Student S Left Join SC on S, SC.sname.sno=SC, C.sno.sno Left Join Course C o=CCreate Procedure sp_DispSC_S @sno varchar(20) AS ame
1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号实验指导三-存储过程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
实验指导三-存储过程
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢以下试题来自:
在考生文件夹下存放了一个数据库文件samp2.mdb,里面已经设计好表对象tStud、tScore和tCourse,试按以下要求完成设计。
创建一个查询,按学生姓名查找某学生的记录,并显示“姓名”、“课程名”和“成绩”。当运行该查询时,应显示提示信息:“请输入学生姓名:”。所建查询命名为qT2。
双击&在设计视图中创建查询&进入查询设计器。添加tStud、tCouse和tScore表,双击&姓名&、&......
为您推荐的考试题库
你可能感兴趣的试题
1.问答题 将光标定位在“性别”字段行中,在“字段属性”的“默认值”行中输入“男”;完成设置默认值的操作;将光标定位在“入校时间”字...... 2.问答题
如果控件工具箱没有自动出现的话,单击工具栏中的
<img src="/2016-01/heshuixiang/...... 3.问答题
将光标定位在ID字段名称单元格中,单击工具栏中的
<img src="/2016-01/heshuixiang/...... 4.问答题
双击&在设计视图中创建查询&进入查询设计器。添加tStud表,双击&姓名&、&性别&、&ld......
热门相关试卷
最新相关试卷定义参数的数据类型需和表内字段类型一致
时间: 13:32:07
&&&& &&&& &&&& &&&&&&&&存储过程、第十三章存储过程、用户自定义函数与触发器&&&&计算机基础教学部2009年2月年月&&&&&&&&&&&&本章内容&&&&13.1存储过程概述13.2通过企业管理器创建、修改和删除存通过企业管理器创建、储过程13.3存储过程的执行与参数传递13.4用户自定义函数触发器及其作用、13.5触发器及其作用、效果演示&&&&&&&&&&&&13.1存储过程概述&&&&存储过程(存储过程(StoredProcedure))&&&&服务器上一组预编译的Transact是SQLServer服务器上一组预编译的服务器上一组预编译的SQL语句,用于完成某项任务,它可以接受参数、语句,语句用于完成某项任务,它可以接受参数、返回状态值和参数值,并且可以嵌套调用。返回状态值和参数值,并且可以嵌套调用。&&&&&&&&存储过程的类型&&&&系统存储过程用户定义存储过程:用户定义存储过程:由用户创建并能完成某一特定功能的存储过程。定功能的存储过程。临时存储过程扩展存储过程&&&&&&&&&&&&13.1存储过程概述&&&&存储过程的功能&&&&(1)接收输入参数并以输出参数的形式为调用过程接收输入参数并以输出参数的形式为调用过程或批处理返回多个值。或批处理返回多个值。(2)包含执行数据库操作的编程语句,包括调用其包含执行数据库操作的编程语句,包含执行数据库操作的编程语句他过程。他过程。(3)为调用过程或批处理返回一个状态值,以表示为调用过程或批处理返回一个状态值,为调用过程或批处理返回一个状态值成功或失败(及失败原因及失败原因)。成功或失败及失败原因。&&&&&&&&&&&&13.1存储过程概述&&&&存储过程特点&&&&(1)模块化编程。模块化编程。模块化编程(2)快速执行。快速执行。快速执行(3)减少网络通信量。减少网络通信量。减少网络通信量(4)提供安全机制。提供安全机制。提供安全机制(5)保证操作一致性。保证操作一致性。保证操作一致性&&&&&&&&&&&&创建、13.2创建、修改和删除存储过程&&&&创建存储过程&&&&(1)启动企业管理器,登录到要使用的服务器。启动企业管理器,登录到要使用的服务器。(2)选择要创建存储过程的数据库,在左窗格中单击“存选择要创建存储过程的数据库,在左窗格中单击“储过程”文件夹,储过程”文件夹,此时在右窗格中显式该数据库的所有存储过程,如图13-1所示。所示。有存储过程,如图所示&&&&&&&&图13-1企业管理器中显示的存储过程信息13-&&&&&&&&&&&&创建、13.2创建、修改和删除存储过程&&&&(3)右击“存储过程”文件夹,在弹出菜单中选择【新建存右击“存储过程”文件夹,在弹出菜单中选择【储过程】选项,打开创建存储过程对话框,如下图。储过程】选项,打开创建存储过程对话框,如下图。&&&&&&&&图13-2创建存储过程对话框13-&&&&&&&&&&&&创建、13.2创建、修改和删除存储过程&&&&(4)在“文本”编辑框中输入存储过程正文。文本”编辑框中输入存储过程正文。(5)单击“检查语法”按钮,检查语法是否正确。单击“检查语法”按钮,检查语法是否正确。(6)单击“确定”按钮,保存存储过程。单击“确定”按钮,保存存储过程。&&&&&&&&提示:提示:新创建存储过程名字包含在程名字包含在CREATEPROCEDURE语句PROCEDURE语句中,不在保存时输入。时输入。&&&&图13-3输入存储过程内容13-&&&&&&&&输入内容区域&&&&&&&&&&&&创建、13.2创建、修改和删除存储过程&&&&修改存储过程&&&&(1)在企业管理器中展开服务器组,再展开服务器。在企业管理器中展开服务器组,再展开服务器。(2)展开“数据库”文件夹,再展开要修改存储过程的数据展开“数据库”文件夹,库。(3)在要修改的存储过程上右击,并在弹出的快捷菜单中选在要修改的存储过程上右击,属性】或双击该存储过程,弹出“择【属性】项,或双击该存储过程,弹出“存储过程属对话框。性”对话框。&&&&&&&&图13-4控制台目录&&&&&&&&&&&&创建、13.2创建、修改和删除存储过程&&&&删除存储过程&&&&类似于删除表操作,类似于删除表操作,在存储过程显示列表中选择要删除的存储过程(可以用ctrl或shift选多个)。选多个)。除的存储过程(可以用或选多个右键单击选中的存储过程,右键单击选中的存储过程,在弹出的快捷菜单中选择删除】打开“除去对象”对话框,如下图,【删除】项,打开“除去对象”对话框,如下图,单全部除去】按钮,完成删除。击【全部除去】按钮,完成删除。&&&&&&&&显示依附该存储过程的对象&&&&除去对象”图13-5“除去对象”对话框13-“除去对象&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&存储过程的执行&&&&语法格式:语法格式:[[EXECEXEC[UTE]]{[@return_status=]procedure_name[;number]|@procedure_name_var}[[@parameter=]{value|@variable[OUTPUT]|[DEFAULT]][,...n][WITHRECOMPILE]&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&参数&&&&存储过程和调用者之间需要通过参数来交换数可以按输入的参数执行,据,可以按输入的参数执行,也可由参数输出执行结果。执行结果。&&&&例如:查询学号为课程的成绩。例如:查询学号为s2008001的c01课程的成绩。的课程的成绩输入参数:学号(输入参数:学号(s2008001)和课程号(c01))和课程号()输出参数:输出参数:成绩&&&&&&&&SQLServer支持这两类参数。支持这两类参数。支持这两类参数&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&输入参数&&&&输入参数允许调用程序为存储过程传送数据值。输入参数允许调用程序为存储过程传送数据值。定义存储过程的输入参数&&&&必须在CREATEPROCEDURE语句中声明一个或必须在语句中声明一个或多个变量及数据类型。多个变量及数据类型。13创建带参数的存储过程,输入学生学号,例13-1:创建带参数的存储过程,输入学生学号,返回学生姓名、性别等个人信息。回学生姓名、性别等个人信息。&&&&CREATEPROCEDURE[dbo].[查询指定学生信息查询指定学生信息]查询指定学生信息@学号varchar(10)ASselect*from学生表where学号学号=@学号学号&&&&&&&&提示:定义参数的数据类型需和表内字段类型一致。提示:定义参数的数据类型需和表内字段类型一致。&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&执行带输入参数的存储过程&&&&在查询分析器中执行例13-1::在查询分析器中执行例exec查询指定学生信息s2008001exec——执行(execute)执行(执行)查询指定学生信息——存储过程名查询指定学生信息存储过程名s2008001——输入参数输入参数运行结果:运行结果:&&&&&&&&提示:提示:需要根据输入参数的数据类型加定界符。需要根据输入参数的数据类型加定界符。&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&执行时,参数可以由位置标识,执行时,参数可以由位置标识,也可以由名字标识。&&&&例如,定义一个具有个参数的存储过程个参数的存储过程:例如,定义一个具有3个参数的存储过程:CREATEPROCmyproc@val1int,@val2int,@val3intAS...参数以位置传递:参数以位置传递:EXECmyproc10,20,15参数以名字传递,每个值由对应的参数名引导:参数以名字传递,每个值由对应的参数名引导:EXECmyproc@val2=20,@val1=10,@val3=15按名字传递参数比按位置传递参数具有更大的灵活性。但是,按位置传递参数却具有更快的速度。活性。但是,按位置传递参数却具有更快的速度。&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&输出参数&&&nb&&&&&输出参数允许存储过程将数据值传回调用程序。输出参数允许存储过程将数据值传回调用程序。关键字指出能返回到调用它的存储过程。用OUTPUT关键字指出能返回到调用它的存储过程。关键字指出能返回到调用它的存储过程13创建存储过程,查询指定学生的某门课程成绩。例13-2:创建存储过程,查询指定学生的某门课程成绩。&&&&CREATEPROCEDURE[dbo].[查询成绩查询成绩]查询成绩@学号varchar(10),@课程号varchar(10),学号课程号@scoreintoutputASselect@score=成绩成绩from选课表where学号学号=@学号and课程号课程号=@课程号学号课程号&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&执行带输出参数的存储过程&&&&在查询分析器中执行例13-2::在查询分析器中执行例declare@学生成绩int@学生成绩exec查询成绩s,@学生成绩outputs,@学生成绩select@学生成绩@学生成绩运行结果:运行结果:提示:提示:?输出参数(返回值)需要提前声明,数据类型应同输输出参数(返回值)需要提前声明,出参数的数据类型相匹配。出参数的数据类型相匹配。?EXEC语句需要关键字语句需要关键字OUTPUT以允许参数值返回变量。以允许参数值返回变量。语句需要关键字以允许参数值返回变量&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&返回存储过程的状态&&&&用RETURN语句定义返回值语句定义返回值&&&&存储过程可以返回整型状态值,存储过程可以返回整型状态值,表示过程是否成功执行,或者过程失败的原因。成功执行,或者过程失败的原因。如果存储过程没有显式设置返回代码的值,如果存储过程没有显式设置返回代码的值,则SQLServer返回代码为0,表示成功执行;若返回代码为,表示成功执行;返回-1~-99之间的整数,表示没有成功执行。也之间的整数,返回之间的整数表示没有成功执行。可以使用RETURN语句,用大于或小于的语句,或小于-99的可以使用语句用大于0或小于整数来定义自己的返回状态值,整数来定义自己的返回状态值,以表示不同的执行结果。执行结果。&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&例13-3:创建存储过程,输入课程号,返回课程名称。在存13创建存储过程,输入课程号,返回课程名称。储过程中,用值15表示用户没有提供参数表示用户没有提供参数;储过程中,用值表示用户没有提供参数;值-101表示没表示没有输入课程号;表示过程运行没有出错。有输入课程号;值0表示过程运行没有出错。表示过程运行没有出错&&&&CREATEPROCEDURE[dbo].[查询课程名@课程号as查询课程名]课程号查询课程名varchar(10)=nullASif@课程号课程号=null课程号return15ifnotexists(select*from课程表where课程号课程号=@课程号课程号)课程号return-101select课程名from课程表where课程号课程号=@课程号课程号&&&&&&&&&&&&13.3存储过程的执行与参数传递&&&&捕获返回状态值&&&&在执行过程时,要正确接收返回的状态值,在执行过程时,要正确接收返回的状态值,必须使用语句:EXECUTE@status_var=procedure_name的存储过程查询课程名执行时使用以下语句:例13-3的存储过程查询课程名执行时使用以下语句:的存储过程查询课程名执行时使用以下语句&&&&DECLARE@return_statusintEXEC@return_status=查询课程名c01查询课程名IF@return_status=15SELECT语法错误,未输入参数语法错误,语法错误未输入参数!ELSEIF@return_status=-101SELECT没有找到该课程号没有找到该课程号.‘没有找到该课程号&&&&&&&&执行时,对不同的输入值返回不同的状态值及处理结果。执行时,对不同的输入值返回不同的状态值及处理结果。&&&&&&&&&&&&13.4用户自定义函数&&&&用户自定义函数概述&&&&根据函数返回值形式的不同将用户定义函数分为3种类型。根据函数返回值形式的不同将用户定义函数分为种类型(1)标量函数&&&&标量函数返回一个确定类型的标量值,其函数值类型为标量函数返回一个确定类型的标量值,其函数值类型为SQLServer的系统数据类型(除text、ntext、image、cursor、的系统数据类型(的系统数据类型、、、、timestamp、table类型外)。函数体语句定义在类型外)。函数体语句定义在BEGIN…END语、类型外)。函数体语句定义在语句内。句内。&&&&&&&&(2)内嵌表值函数&&&&内嵌表值函数返回的函数值为一个表。内嵌表值函数返回的函数值为一个表。内嵌表值函数的函数体不使用BEGIN…END语句,其返回的表是语句,使用语句其返回的表是RETURN子句中的子句中的SELECT命令查询的结果集,其功能相当于一个参数化的视图。命令查询的结果集,命令查询的结果集其功能相当于一个参数化的视图。&&&&&&&&(3)多语句表值函数&&&&多语句表值函数可以看作标量函数和内嵌表值函数的结合其函数值也是一个表,但函数体也用BEGIN…END语体。其函数值也是一个表,但函数体也用语句定义,返回值的表中的数据由函数体中的语句插入。句定义,返回值的表中的数据由函数体中的语句插入。&&&&&&&&&&&&13.4用户自定义函数&&&&创建用户自定义函数&&&&&&&&图13-6创建用户自定义函数对话框13-&&&&&&&&&&&&13.4用户自定义函数&&&&例13-4:创建一个用户定义函数13创建一个用户定义函数DatetoQuarter,将输入的,日期数据转换为该日期对应的季度值。如输入‘日期数据转换为该日期对应的季度值。如输入‘’,,返回‘季度。返回‘3Q2006’,表示,表示2006年3季度。年季度CREATEFUNCTIONDatetoQuarter(@dqdatedatetime)RETURNSchar(6)ASBEGINRETURN(datename(q,@dqdate)+Q+datename(yyyy,@dqdate))END&&&&&&&&&&&&13.4用户自定义函数&&&&例13-5:创建一个表值函数13创建一个表值函数stuinfo,输入学生学号,返回,输入学生学号,学生姓名及各科成绩。学生姓名及各科成绩。CREATEFUNCTIONstuinfo(@xhvarchar(10))RETURNStableASreturn(select姓名课程号成绩姓名,课程号课程号,成绩from学生表innerjoin选课表on学生表学号选课表学号学生表.学号选课表.学号学号=选课表where选课表学号选课表.学号学号=@xh)&&&&&&&&&&&&13.4用户自定义函数&&&&修改和删除用户自定义函数&&&&用企业管理器修改用户定义函数,用企业管理器修改用户定义函数,选择要修改函数,单击右键,从快捷菜单中选择“属性”函数,单击右键,从快捷菜单中选择“属性”选项,打开图13-6所示的“用户定义函数属性”所示的“选项,打开图所示的用户定义函数属性”对话框。在该对话框中可以修改用户定义函数对话框。的函数体、参数等。的函数体、参数等。从快捷菜单中选择“删除”选项,打开“从快捷菜单中选择“删除”选项,打开“除去对象”对话框,则可删除用户自定义函数。对象”对话框,则可删除用户自定义函数。&&&&&&&&&&&&13.4用户自定义函数&&&&用户自定义函数的使用&&&&当调用标量值函数时,必须加上“所有者”当调用标量值函数时,必须加上“所有者”,通常是dbo(但不是绝对,可以在企业管理器通常是(但不是绝对,中的“用户定义函数”中查看所有者)中的“用户定义函数”中查看所有者)当调用表值函数时,可以只使用函数名。当调用表值函数时,可以只使用函数名。&&&&例13-6:调用例13调用例13-4函数,返回当前日期对应的季度值。函数,函数返回当前日期对应的季度值。selectdbo.DatetoQuarter(getdate())13调用例13-5函数,返回学号为函数,例13-7:调用例函数返回学号为s2008001的学生的学生姓名和各科成绩。姓名和各科成绩。select*fromstuinfo(s2008001)&&&&&&&&&&&&触发器及其作用、13.5触发器及其作用、效果演示&&&&触发器是一种特殊类型的存储过程。触发器是一种特殊类型的存储过程。触发器主要是通过事件进行触发而被执行的,触发器主要是通过事件进行触发而被执行的,而存储过程可以通过过程名字直接调用。当对某一存储过程可以通过过程名字直接调用。表进行UPDATE、INSERT、DELETE操作时,表进行UPDATE、INSERT、DELETE操作时,操作时SQLServer就会自动执行触发器所定义的就会自动执行触发器所定义的SQL语就会自动执行触发器所定义的语从而确保对数据的处理必须符合由这些SQL句,从而确保对数据的处理必须符合由这些语句所定义的规则。语句所定义的规则。触发器的主要作用就是能够实现由主键和外键所不能保证的参照完整性和数据的一致性。不能保证的参照完整性和数据的一致性。&&&&&&&&&&&&小结与提问&&&&存储过程、存储过程、用户自定义函数和触发器&&&&&&&&&&&&&&&& &&&&

我要回帖

更多关于 德信行事故车拍卖下载 的文章

 

随机推荐