文档详情

SQL Server数据库基础教程.ppt

发布:2024-11-20约9.28万字共478页下载文档
文本预览下载声明

7.1.2存储过程的创建与执行:CREATEPROCEDURE执行存储过程student_info1:EXECUTEstudent_info1王林,计算机基础执行结果如图7.2所示。7.1.2存储过程的创建与执行:CREATEPROCEDURE以下命令的执行结果与上面的相同:EXECUTEstudent_info1@name=王林,@cname=计算机基础或者:DECLARE@procchar(20)SET@proc=student_info1EXECUTE@proc@name=王林,@cname=计算机基础7.1.2存储过程的创建与执行:CREATEPROCEDURE(3)使用带OUPUT参数的存储过程【例7.3】创建一个存储过程do_insert,作用是向xsb表中插入一行数据。创建另外一个存储过程do_action,在其中调用第一个存储过程,并根据条件处理该行数据,处理后输出相应的信息。第一个存储过程:CREATEPROCEDUREdbo.do_insertASINSERTINTOxsbVALUES(091201,陶伟,1,1990-03-05,软件工程,50,NULL);7.1.2存储过程的创建与执行:CREATEPROCEDURE第二个存储过程:CREATEPROCEDUREdo_action@Xbit,@STRCHAR(8)OUTPUTASBEGINEXECdo_insertIF@X=0BEGINUPDATExsbSET姓名=刘英,性别=0WHERE学号=091201SET@STR=修改成功ENDELSEIF@X=1BEGINDELETEFROMxsbWHERE学号=091201SET@STR=删除成功ENDEND7.1.2存储过程的创建与执行:CREATEPROCEDURE接下来执行存储过程do_action来查看结果:DECLARE@strchar(8)EXECdbo.do_action0,@strOUTPUTSELECT@str;执行结果显示“修改成功”。7.1.2存储过程的创建与执行:CREATEPROCEDURE(4)使用带有通配符参数的存储过程【例7.4】从3个表的连接中返回指定学生的学号、姓名、所选课程名称及该课程的成绩。该存储过程在参数中使用了模式匹配,如果没有提供参数,则使用预设的默认值。CREATEPROCEDUREst_info@namevarchar(30)=李%ASSELECTa.学号,a.姓名,c.课程名,b.成绩FROMxsbaINNERJOINcjbbONa.学号=b.学号INNERJOINkcbcONc.课程号=b.课程号WHERE姓名LIKE@nameGO执行存储过程:EXECUTEst_info /*参数使用默认值*/或者:EXECUTEst_info王% /*传递给@name的实参为王%*/7.1.2存储过程的创建与执行:CREATEPROCEDURE(5)使用OUTPUT游标参数的存储过程OUTPUT游标参数用于返回存储过程的局部游标。【例7.5】在pxscj数据库的xsb表上声明并打开一个游标。CREATEPROCEDUREst_cursor@st_cursorcursorVARYINGOUTPUTASSET@st_cursor=CURSORFORWARD_ONLYSTATICFORSELECT* FROMxsbOPEN@st_cursor7.1.2存储过程的创建与执行:CREATEPROCEDURE在如下的批处理中,声明一个局部游标变量,执行上述存储过程,并将游标赋值给局部游标变量,然后通过该游标变量读取记录。DECL

显示全部
相似文档