




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、13 13.2创过 13 13.2创过 CREATE PROCEDURE dName,LastNameEXECUTE- 执行系过程EXECUTEp_who; - 虽然指定了架构,但是仍然执行sys.sp_who系过CREATE PROCEDURE HumanResourSELECTLastName,Name,JobTitle,Department FROM HumanResourEXECUTE - 使用参数默认值,将搜索姓氏以字母D开头的EXECUTECREATE PROCEDURE HumanResourlastname varchar(40) = D%,namevarchar(20) =S
2、ELECTLastName,Name,JobTitle,Department FROM HumanResourName LIKE ANDLastNameLIKEStandardCost money = 0, SELECTFROMWHEREStandardCostStandardCostANDListPrice ListPricemoneySELECTFROMWHEREStandardCostStandardCostANDListPrice StandardCostmoney, SETProductCount(SELECTFROM Production.Product WHEREListPric
3、eListPrice);- 搜索姓氏以字母Wi开头的EXECUTE - 下面的语句将使用name参数的默认值,搜索姓氏以字母D开头的EXECUTE name=- 搜索姓氏以C或K 开头,并且在n前是O或E字母,中间ars的姓EXECUTE.usp_GetEmployees2- 搜索姓氏为HesseStefen的EXECUTE.usp_GetEmployees2Hesse,- 搜索姓氏以字母H开头、名字以S开头的EXECUTE.usp_GetEmployees2H%,一个cursor一个cursor类型的变量,并使用OUTPUT关键字将它修过ROCEDUREProduction.usp_GetP
4、roduct StandardCostmoney, SELECTDECLAREMyCursorcursor - 定义变EXECUTEProduction.usp_GetProduct100,10,MyCursorOUTPUT - 执IFUS(variableMyCursor0 - 判断游标是否正FETCHNEXTFROMWHILEUS=0) -FETCHNEXTFROMMyCursor; CLOSE MyCursor; SETList_CursorCURSORLOCALSCROLLFOR -局部可滚动游标 SELECTName,FROMWHEREStandardCostStandardCost
5、ANDListPriceListPrice; OPEN list_cursor -打开游标过程的重新编过程的错误过程的重新编过程的错误处StandardCostmoney,ListPricemoney SELECTFROMWHEREStandardCostStandardCostANDListPriceListPriceStandardCostmoney, SELECTFROMWHEREStandardCostStandardCostANDListPriceListPrice FROMWHEREStandardCostStandardCostANDListPrice 1RAISERROR 1R
6、AISERROR IFOBJECT_ID(usp_GetErrorInfo,P)ISNOTNULL DROP PROCEDURE usp_GetErrorInfo; SELECT*FROM sys.messages WHEREmessage_id=21;- 另一个BEGINSELECTERROR_NUMBER()ASErrorNumber; END CATCH;ProductNumber varchar(20)IF(ProductNumber=ST-140)OR(ProductNumber=ST-141) :%s。,12,1,SELECTFROMWHEREProductNumber=Produ
7、ctNumber - 检IFOBJECT_ID(Nusp_RethrowError,NP)ISNOTNULL DROP PROCEDURE usp_RethrowError;- 创过程,使用RAISERROR生成一个错误- 原始错误信息用于构建RAISERRORmsg_str CREATE PROCEDURE usp_RethrowError AS- 如果没有检索到错误信息,直接返IFERROR_NUMBER()ISNULL - 创建 ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, E() as ErrorS
8、e, ERROR_PROCEDURE()asErrorProcedure, ERROR_LINE() as ErrorLine, ERROR_MESSAGE() as ErrorMessage;- 生成除以0错SELECT1/0; ENDTRY BEGIN CATCH- 执过EXECUTEusp_GetErrorInfo; END CATCH;ErrorS e ,- RAISERROR捕获ErrorNumber = ERROR_NUMBER(), ErrorSeverity=ERROR_SEVERITY(),ErrorS e ,- RAISERROR捕获ErrorNumber = ERROR_
9、NUMBER(), ErrorSeverity=ERROR_SEVERITY(),ErrorS e=ErrorLine= - 构建包含原始错误信息的字符 N错误%d, 级别%d, %d, %s, %d, N信息: + ERROR_MESSAGE();-一个错误:RAISERROR的msg_str参数将包含原始错误信(ErrorS e,- 参数: 原始错- 参数: 原始错误严重级- 参数: 原始错误状ErrorProcedure, - 参数: 原始错误过程名- 参数: 原始错误行- 检IFOBJECT_ID(Nusp_GenerateError,NP)ISNOTNULL DROP PROCEDU
10、RE usp_GenerateError;13.313.3.1 创建一个13.313.3.1 创建一个具有输出参数的过- 创- 联的CATCH块捕获,并且会因为被执行- - 而不是生成错误消息- 表中存在一个外键约束,下面的语句将生成一DELETEFROMProduction.Product WHERE ProductID = 980;ENDTRY - 调EXECusp_RethrowError; ENDCATCH;- 在下面的批中,在usp_GenerateError中发生的错误将激- - 在- 下面调用批中的外部CATCHRY -outer-Calltheproceduretogenera
11、teanerror. EXECUTEusp_GenerateError;ENDBEGINCATCH - CATCHERROR_NUMBER() as ErrorNumber, ERROR_MESSAGE()asErrorMessage;END 过程的代码,用于计算 过程的代码,用于计算Sales.SalesOrderDetail10using System; usingSystem.Data;using System.Data.SqlC nt; using System.Data.SqlTypes; publicpartialclasspublics icvoid OrderQtySum(ou
12、t Sql 16value) /定义输出参数,类型为/设置连SqlConnection conn = new SqlConnection(); conn.ConnectionString=ContextConnection=true; /设置命mand cmd = newcmd.Connection = conn;mandText=SELECTTOP10OrderQtyFROMusing System; usingSystem.Data;using System.Data.SqlC nt; using System.Data.SqlTypes; publicpartialclasspublic
13、 s ic void OrderQtySum()/ 在此处放置代2使用SQL13.3.2 创建返回行2使用SQL13.3.2 创建返回行集和信息的过using System; usingSystem.Data;using System.Data.SqlC nt; using System.Data.SqlTypes; publicpartialclassWITH PERMIS_SET=SAFE; - 创建基于程序集过value smallWITHEXECUTEAS CALLER - 指定执行权EXTERNALNAMEMyClrStoredProc.StoredProcedures.OrderQ
14、tySum; - 指定要使用的方法名SQLServer中的数据,并累value =SqlDataReaderreader=whilevalue16(0); /获取指定列的值(0表示第1列,依次类推using System; usingSystem.Data;using System.Data.SqlC nt; using System.Data.SqlTypes; using System; usingSystem.Data;using System.Data.SqlC nt; using System.Data.SqlTypes; publicpartialclasspublics icvo
15、id SendReaderToC nt(Sql 32 /设置连SqlConnection conn = new SqlConnection(); conn.ConnectionString=ContextConnection=true; /设置命publics icvoid ExecuteToC nt(Sql 32/设置连SqlConnection conn = new SqlConnection(); conn.ConnectionString=ContextConnection=true; /设置命mand cmd = newcmd.Connection = conn;mandText=S
16、ELECTProductID,OrderQty,UnitPriceFROMSales.SalesOrderDetail+ WHERE SalesOrderID = OrderID;cmd.Parameters.AddWithValue(OrderIDOrderID); /设置cmd所使用的参数的SqlContext.Pipe.ExecuteAndSend(cmd); /传递到客户 13.3.3 删除过程和程 13.3.3 删除过程和程13.4 IFOBJECT_IDroc,NP)ISNOTusing System; usingSystem.Data;using System.Data.SqlC
17、 nt; using System.Data.SqlTypes; publicpartialclasspublic s ic void Sayoworld!Itsnow+System.DateTime.Now.ToString()+mand cmd = newcmd.Connection = conn;mandText=SELECTProductID,OrderQty,UnitPriceFROMSales.SalesOrderDetail+ WHERE SalesOrderID = OrderID;cmd.Parameters.AddWithValue(OrderIDOrderID); /设置cmd所使用的参数的SqlDataReaderrcmd.ExecuteReader(); /生成SqlDataReader SqlContext.Pipe.Send(r); /传递到客户端下面的示例则演示了使用SELECT、EXECsp_executesql下面的示例则演示了使用SELECT、EXECsp_executes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗伦理在药物研发中的体现
- 医学人才梯队建设从模拟到实战的技能培养路径
- 医疗安全管理与医患关系和谐发展
- 医疗大数据下的健康保险服务创新
- 利用智能合约和去中心化存储实现更安全的数字版权管理
- 《信息技术与学科教学融合》心得体会模版
- 安全生产工作总结模版
- 医疗AI研发中的知识产权合规培训
- 办公空间中的智能化手术室设计探讨
- 医疗科技公司如何平衡数据利用与用户隐私权保护
- 特种作业合同协议
- 咸宁叉车考试题及答案
- 社工证考试试题及答案
- 渣土公司运输车辆管理制度
- 2025年云南专升本招生计划
- YY频道模板文档
- 汽车营销专业毕业论文
- 2025年中国VOC治理市场深度评估研究报告
- 2025年宽带网络拓展合作协议书
- 教学主管竞聘培训机构
- 【9语期末】黄山市歙县2024-2025学年九年级上学期期末语文试题
评论
0/150
提交评论