预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SQL实例讲解创建存储过程结构CREATEPROCEDURE创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的Transact-SQL语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在MicrosoftSQLServer启动时自动运行的存储过程。语法CREATEPROC[EDURE]procedure_name[;number][{@parameterdata_type}[VARYING][=default][OUTPUT]][,...n][WITH{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}][FORREPLICATION]ASsql_statement[...n]存储过程实例讲解1.使用带有复杂SELECT语句的简单过程下面的存储过程从四个表的联接中返回所有作者(提供了姓名)、出版的书籍以及出版社。该存储过程不使用任何参数。USEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='au_info_all'ANDtype='P')DROPPROCEDUREau_info_allGOCREATEPROCEDUREau_info_allASSELECTau_lname,au_fname,title,pub_nameFROMauthorsaINNERJOINtitleauthortaONa.au_id=ta.au_idINNERJOINtitlestONt.title_id=ta.title_idINNERJOINpublisherspONt.pub_id=p.pub_idGOau_info_all存储过程可以通过以下方法执行:EXECUTEau_info_all--OrEXECau_info_all如果该过程是批处理中的第一条语句,则可使用:au_info_all2.使用带有参数的简单过程下面的存储过程从四个表的联接中只返回指定的作者(提供了姓名)、出版的书籍以及出版社。该存储过程接受与传递的参数精确匹配的值。USEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='au_info'ANDtype='P')DROPPROCEDUREau_infoGOUSEpubsGOCREATEPROCEDUREau_info@lastnamevarchar(40),@firstnamevarchar(20)ASSELECTau_lname,au_fname,title,pub_nameFROMauthorsaINNERJOINtitleauthortaONa.au_id=ta.au_idINNERJOINtitlestONt.title_id=ta.title_idINNERJOINpublisherspONt.pub_id=p.pub_idWHEREau_fname=@firstnameANDau_lname=@lastnameGOau_info存储过程可以通过以下方法执行:EXECUTEau_info'Dull','Ann'--OrEXECUTEau_info@lastname='Dull',@firstname='Ann'--OrEXECUTEau_info@firstname='Ann',@lastname='Dull'--OrEXECau_info'Dull','Ann'--OrEXECau_info@lastname='Dull',@firstname='Ann'--OrEXECau_info@firstname='Ann',@lastname='Dull'如果该过程是批处理中的第一条语句,则可使用:au_info'Dull','Ann'--Orau_info@lastname='Dull',@firstname='Ann'--Orau_info@firstname='Ann',@lastname='Dull'3.使用带有通配符参数的简单过程下面的存储过程从四个表的联接中只返回指定的作者(提供了姓名)、出版的书籍以及出版社。该存储过程对传递的参数进行模式匹配,如果没有提供参数,则使用预设的默认值。USEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='au_info2'ANDtype='P')DROPPROCEDUREau_info2GOUSEpubsGOCREATEPROCEDUREau_info2@lastnamevarchar(30)='D*',@firstnamevarchar(18)='*'ASSELECTau_lname,au_fname,title,