




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
销售管理数据库中存储过程的运用第09章销售管理数据库中存储过程的应用技能目标理解存储过程概念以及存储过程的作用;学会创建、删除、修改存储过程;学会根据实际需要设计销售管理数据库中的存储过程。知识目标理解存储过程的作用;了解系统存储过程和扩展存储过程;掌握存储过程的基本类型;掌握创建、删除、修改和加密存储过程;掌握执行各类存储过程存储过程的概念存储过程(StoredProcedure)是一组完成特定功能的Transact-SQL语句集,经编译后存储在数据库中,用户调用过程名和给出参数来调用它们.特点:完成特定功能多条语句组成的程序存放在数据库中(服务器)由客户机调用可以带参数,也可以不带参数可以有返回值,也可以没有为什么要建立存储过程?数据库服务器客户机实现相同功能的SQL语句集客户机实现相同功能的SQL语句集缺点:1.相同的SQL语句要重复书写
2.传输网络面临较大压力
3.执行效率低
4.存在安全隐患为什么要建立存储过程?数据库服务器存储过程客户机调用存储过程实现特定功能客户机优点:1.直接调用特定存储过程实现某种功能,不需要用户自己书写SQL语句
2.存储过程存放在服务器上,不需网络传输
3.存储过程经过编译和优化,执行效率高
4.安全性高调用存储过程实现特定功能存储过程的优点允许模块化程序设计存储过程由有数据库专长的技术人员编写。可以无限次调用存储过程独立与程序源代码,维护方便执行速度快存储过程经过编译存储过程经过优化批处理的SQL语句每次均需要编译和优化有效降低网络流量只需通过网络发送一条调用存储过程的语句,不需要传递大量的SQL语句代码提高数据库的安全性存储过程具有安全性和所有权连接存储过程可以附加安全证书存储过程的分类系统存储过程用户自定义存储过程扩展存储过程存储过程的分类(续)系统存储过程完成SQLServer2005的许多过来活动以sp_开头物理上存储在数据库的resource中,逻辑上存在在每个数据库的SYS框架中存储过程的分类(续)用户自定义存储过程用户自定义存储过程是指封装的由用户创建、能完成特定功能的、可重用代码的模块或例程。扩展存储过程扩展存储过程是指使用编程语言(例如C)创建自己的外部例程,是指MicrosoftSQLServer的实例可以动态加载和运行的DLL。
存储过程语法格式语法格式:
CREATE[PROC|PROCEDURE]存储过程名
[{@参数名称参数数据类型}[=参数的默认值][OUTPUT]][,...n][WITHENCRYPTION][WITHRECOMPILE]ASsql_statement
参数:@参数名称:存储过程可以没有参数。也可以声明一个或多个参数,参数名称必须@作为第一个字符。参数后面带OUTPUT,表示为输出参数。WITHENCRYPTION:对存储过程加密,其他用户无法查看存储过程的定义。WITHRECOMPILE:每次执行该存储过程都重新进行编译。sql_statemen:该存储过程中定义的编程语句。存储过程的组成存储过程的定义中包含如下的两个主要组成部分。(1)过程名称及其参数的说明:包括所有的输入参数以及传给调用者的输出参数。(2)过程的主体:也称为过程体,针对数据库的操作语句(Transact-SQL语句),包括调用其它存储过程的语句。不带参数的存储过程创建不带参数的存储过程语法格式:CREATE[PROC|PROCEDURE]存储过程名
[WITHENCRYPTION][WITHRECOMPILE]ASsql_statement不带参数的存储过程【例9.1】创建一个名为Cu_information的存储过程,用于查询客户的信息。
usestudentCREATEPROCEDURECu_informationASSELECT*FROMCustomer不带参数的存储过程(续)
执行不带参数的存储过程语法结构如下:EXEC存储过程名【例9.3】执行创建的Cu_Information存储过程。
EXECCu_Information创建存储过程的步骤实现过程体的功能构建实现特定功能的SQL语句创建存储过程CREATEPROCEDUREASSQL语句集验证准确性
EXEC<存储过程名>带输入参数的存储过程创建带输入参数的存储过程CREATE[PROC|PROCEDURE]存储过程名
[{@参数名称参数数据类型}[=参数的默认值][,...n][WITHENCRYPTION][WITHRECOMPILE]ASsql_statement带输入参数的存储过程【例9.4】创建一个存储过程,实现根据订单号获取该订单的信息的功能。CREATEPROCEDUREOrderDetail@OrderIDINTASSELECT*FROMSell_OrderWHERESellOrderId=@OrderID带输入参数的存储过程【例9.6】创建名为listEmployee的存储过程,其功能为:在员工表employee中查找符合性别和超过指定工资条件的员工详细信息。CREATEPROCEDURElistEmployee@sexvarchar(2),@salarymoneyASSELECT*FROMemployeeWHEREsex=@sexandsalary>@salary带输入参数的存储过程(续)执行输入参数的存储过程两种方法:使用参数名传递参数值EXEC存储过程名[@参数名=参数值][DEFAULT][,…n]按位置传递参数值EXEC存储过程名[参数值1,参数值2,…]带输入参数的存储过程(续)【例9.7】使用【例9.5】中创建的存储过程customer_order,获取“三川实业”的信息,包括联系人姓名、联系方式以及该公司订购产品的明细表。代码如下:EXECcustomer_order@customername='三川实业'带输入参数的存储过程(续)【例9.8】利用存储过程listEmployee,查找工资超过4000元的的男员工和工资超过3000元女员工的详细信息。代码如下:EXEClistEmployee@sex='男',@salary=4000EXEClistEmployee@salary=3500,@sex='女'带输入参数的存储过程(续)【例9.9】按位置传递执行存储过程listEmployee,查找工资超过4000元的的男员工和工资超过3000元女员工的详细信息。代码如下:EXEClistEmployee'男',4000EXEClistEmployee'女',3500带输入参数的存储过程(续)【例9.11】利用Name_Employee存储过程查询所有员工信息和姓王的员工信息EXECName_Employee查询所有员工信息EXECName_Employee‘王%’查询姓王的员工信息带输出参数的存储过程【例9.12】创建带返回参数的存储过程求两个整数的和。代码如下:CREATEPROCEDUREPRO_SUM@N1INT,@N2INT,@RESULTINTOUTPUTASSET@RESULT=@N1+@N2带输出参数的存储过程【例9.13】执行【例9.11】创建的PRO_SUM存储过程。代码如下:DECLARE@ANSWERINTEXECPRO_SUM20,69,@ANSWEROUTPUTselect@ANSWER'结果'查看存储过程sp_help用于显示存储过程的参数及其数据类型,语法格式如下:sp_help[[@objname=]存储过程名]sp_helptext用于显示存储过程的源代码,语法格式如下:sp_helptext[[@objname=]存储过程]查看存储过程【例9.14】查看customer_order存储过程的参数和数据类型。代码如下:USECompanySalesGOsp_helpcustomer_order查看存储过程【例9.15】查看customer_order存储过程的源代码。代码如下:USECompanySalesGOsp_helptextcustomer_order删除用户存储过程删除用户存储过程可以使用DROP命令,语法格式如下:DROP{PROC|PROCEDURE}存储过程名[,...n]删除用户存储过程【例9.16】删除PRO_SUM存储过程。代码如下:USECompanySalesGODROPPROCEDUREPRO_SUM修改存储过程ALTERPROCEDURE语句的语法格式如下:ALTER[PROC|PROCEDURE]存储过程名
[{@参数名称参数数据类型}[=参数的默认值][OUTPUT]][,...n][WITHENCRYPTION][WITHRECOMPILE]ASsql_statement系统存储过程常用系统存储过程:sp_tables:返回可在当前环境中查询的对象列表。这代表可在FROM子句中出现的任何对象。sp_stored_procedures:返回当前环境中的存储过程列表。sp_rename:在当前数据库中更改用户创建对象的名称。此对象可以是表、索引、列、别名数据类型。sp_renamedb:更改数据库的名称。系统存储过程sp_help:报告有关数据库对象(sys.sysobjects兼容视图中列出的所有对象)、用户定义数据类型或SQLServer2005提供的数据类型的信息。sp_helptext:是用户定义规则的定义、默认值、未加密的Transact-SQL存储过程、用户定义Transact-SQL函数、触发器、计算列、CHECK约束、视图或系统对象(如系统存储过程)。sp_who:提供有关MicrosoftSQLServerDatabaseEngine实例中的当前用户和进程的信息。sp_password:为MicrosoftSQLServer登录名添加或更改密码。扩展存储过程使用外部语言编写的外部存储过程,如C语言,通常以动态链接库DLL形式出现,扩展SQLServer2005功能一般以xp_开头xp_cmdshell:用来运行从命令行执行的程序Xp_sscanf:将数据从字符串读入时每个格式参
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国集线器市场运行动态与发展前景分析报告
- 2025-2030年中国铝板带箔材行业运营状况及发展规划分析报告
- 2025-2030年中国造影剂行业市场运行状况及前景趋势分析报告
- 重庆师范大学《酒水与酒吧管理》2023-2024学年第二学期期末试卷
- 宁夏大学新华学院《植物细胞工程》2023-2024学年第二学期期末试卷
- 济南大学《管理研究方法导读》2023-2024学年第二学期期末试卷
- 湖北工业大学《中学思想政治教育学科教育学》2023-2024学年第二学期期末试卷
- 天津体育职业学院《勘查地球物理方法及应用》2023-2024学年第二学期期末试卷
- 新疆机电职业技术学院《现场总线技术》2023-2024学年第二学期期末试卷
- 忻州职业技术学院《战略与公司管理》2023-2024学年第二学期期末试卷
- 《教育强国建设规划纲要(2024-2035年)》全文
- 《真希望你也喜欢自己》房琪-读书分享
- 2024年山东省高考生物试卷真题(含答案解析)
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案)
- 防火门监控系统调试、检测、验收记录
- 2016年七里塘电站1号机组C级检修方案
- “大水利”概念及其意义
- (完整word版)SAS-Base认证考试(70真题+答案详解)
- 东华协同办公系统简介
- 三年级上册数学应用题大全98715
- 最新版结婚函调报告表.doc
评论
0/150
提交评论