数据库函数存储过程实验报告
数据库-存储过程触发器和函数实验报告参考模板

存储过程、触发器和用户自定义函数实验兰州大学数据库实验报告实验内容一练习教材中存储过程、触发器和用户自定义函数的例子。
教材中的BookSales数据库,在群共享中,文件名为BookSales.bak。
实验内容二针对附件1中的教学活动数据库,完成下面的实验内容。
1、存储过程(1)创建一个存储过程,该存储过程统计“高等数学”的成绩分布情况,即按照各分数段统计人数。
CREATE Proc MATH_NUM@MATH CHAR(20)='高等数学'ASSELECT@MATH as canme,count(case when score>=90 then 1 end)as[90以上], count(case when score>=80 and score<90 then 1end)as[80-90],count(case when score>=70 and score<80 then 1end)as[70-80],count(case when score>=60 and score<70 then 1end)as[60-70],count(case when score<60 then 1 end)as[60以下]FROM study,courseWHERE o=o and ame=@MATHGROUP BY ame运行结果:(2)创建一个存储过程,该存储过程有一个参数用来接收课程号,该存储过程统计给定课程的平均成绩。
CREATE Proc AVG_SCORE@cno CHAR(5)ASSELECT@cno as课程号,ame as课程名,STR(AVG(score),5,2)as平均成绩FROM study,courseWHERE o=o and o=@cnoGROUP BY ame运行结果:(3)创建一个存储过程,该存储过程将学生选课成绩从百分制改为等级制(即A、B、C、D、E)。
数据库存储过程实验总结

数据库存储过程实验总结本次数据库实验主要涉及到数据库存储过程的设计和实现。
下面将对此次实验的内容进行总结。
1. 存储过程的概念存储过程是一种预定义的SQL 代码块,可以在需要的时候被调用。
它可以接受参数,执行一系列的SQL 语句,并返回结果。
2. 存储过程的优点存储过程有以下优点:(1)提高了数据库的安全性,可以限制用户对数据库的操作。
(2)减少了网络流量,提高了性能。
(3)提高了代码的可重用性,可以避免重复编写相同功能的代码。
(4)可以实现复杂的业务逻辑,减少了应用程序的代码量,提高了应用程序的可维护性。
3. 存储过程的创建创建存储过程的语法如下:```CREATE PROCEDURE procedure_name[parameter_list]ASsql_statement;```其中,parameter_list 表示存储过程的参数列表,可以包含输入参数、输出参数和返回值。
sql_statement 表示存储过程要执行的SQL 语句。
4. 存储过程的调用调用存储过程的语法如下:```EXEC procedure_name [parameter_list];```其中,procedure_name 表示要调用的存储过程的名称,parameter_list 表示存储过程的参数列表。
5. 存储过程的优化为了提高存储过程的性能,可以采用以下优化措施:(1)使用SET NOCOUNT ON 命令关闭存储过程的计数器,减少网络流量。
(2)使用临时表和表变量来提高存储过程的性能。
(3)避免使用游标,因为游标会导致性能下降。
6. 实验结果分析本次实验通过设计一个购物车存储过程的例子,对存储过程的创建和调用进行了实践。
通过实验结果分析,可以看出存储过程的优点和优化措施对提高数据库的性能和可维护性有着重要的作用。
总之,本次实验让我深入了解了存储过程的概念、创建和调用方法,并掌握了存储过程的优化技巧。
这对我的数据库开发和优化有很大的帮助。
数据库存储过程实验报告

数据库存储过程实验报告一、实验目的理解存储过程的概念、建立和调用方法。
二、实验环境三、实验示例1、定义一个函数,按性别计算所有学生的平均年龄。
CREATE FUNCTION aver_age(@sex char(2)) RETURNS int ASBEGINDECLARE @aver intSELECT @aver=( SELECT avg(年龄)FROM sWHERE sex=@SEX)RETURN @averENDGO如下程序对上例定义的aver_age函数进行调用。
USE student /*用户函数在此数据库中已定义*//*定义局部变量*/DECLARE @sex char(2)DECLARE @aver1 int/*给局部变量赋值*/SELECT @sex = ‘女’SELECT @aver1=dbo.aver_age(@sex) /*调用用户函数,并将返回值赋给局部变量*//*显示局部变量的值*/SELECT @aver1 AS '男性学生的平均年龄'2、利用student数据库中的S、SC表,编写一无参存储过程用于查询每个学生的选课情况,然后调用该存储过程。
CREATE PROCEDURE xuanke_infoASSELECT S.#,sname,sex,age,c#,scoreFROM S INNER JOIN scON s.s#=sc.s#GO3、使用带参数的存储过程创建存储过程,根据student数据库的3个表查询指定学生的选课情况。
CREATE PROCEDURE stu_info @sname (8)ASSELECT S.#,sname,sex,age,c#,cname,scoreFROM S,SC,CWhere s.s#=sc.s# and sc.c#=c.c# and sname=@snameGOEXECUTE stu_info '张三'4、使用带OUTPUT参数的存储过程编写存储过程,根据给定的学生学号,计算该生的平均成绩Create procedure stuavg @sno char(4) @s_sum float output,@s_avg float outputAsSelect @s_sum=sum(score),s_avg=avg(score)From scWhere s#=@sno在调用存储过程stuavg时,存储过程定义时的形参名和调用时的变量名不一定要匹配,不过数据类型和参数位置必须匹配。
存储过程开发实验报告

一、实验目的1. 掌握存储过程的基本概念和功能。
2. 熟悉存储过程的创建、调用和修改方法。
3. 了解存储过程中的流程控制语句、变量、函数等使用。
4. 学会存储过程在实际数据库应用中的优势。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建存储过程(1)创建一个名为get_employee_info的存储过程,用于查询员工的姓名、性别、年龄和部门信息。
```sqlDELIMITER //CREATE PROCEDURE get_employee_info(IN emp_id INT)BEGINSELECT name, gender, age, department FROM employees WHERE id =emp_id;END //DELIMITER ;```(2)调用存储过程查询员工信息。
```sqlCALL get_employee_info(1);```2. 流程控制语句(1)使用IF-ELSE语句实现一个简单的计算器功能,根据输入的两个数字和运算符,返回计算结果。
```sqlDELIMITER //CREATE PROCEDURE calculator(IN a INT, IN b INT, IN operator CHAR(1), OUT result INT)BEGINIF operator = '+' THENSET result = a + b;ELSEIF operator = '-' THENSET result = a - b;ELSEIF operator = '' THENSET result = a b;ELSEIF operator = '/' THENSET result = a / b;ELSESET result = NULL;END IF;END //DELIMITER ;```(2)调用存储过程进行计算。
储存过程实验报告

一、实验背景随着数据库技术的不断发展,数据库管理系统(DBMS)的功能日益强大,存储过程作为一种重要的数据库对象,在数据库应用中扮演着越来越重要的角色。
存储过程能够封装复杂的业务逻辑,提高数据库性能,增强数据安全性。
本实验旨在通过实际操作,掌握存储过程的创建、执行和管理方法,提高数据库应用开发能力。
二、实验目的1. 理解存储过程的概念和作用。
2. 掌握存储过程的创建、执行和管理方法。
3. 学会使用存储过程优化数据库性能。
4. 提高数据安全性。
三、实验环境1. 操作系统:Windows 102. 数据库:MySQL 5.73. 编程语言:MySQL四、实验内容1. 创建存储过程2. 调用存储过程3. 管理存储过程4. 优化存储过程性能五、实验步骤1. 创建存储过程(1)创建一个名为“get_user_info”的存储过程,用于查询用户信息。
```sqlDELIMITER //CREATE PROCEDURE get_user_info(IN user_id INT)BEGINSELECT FROM users WHERE id = user_id;END //DELIMITER ;```(2)创建一个名为“update_user_info”的存储过程,用于更新用户信息。
```sqlDELIMITER //CREATE PROCEDURE update_user_info(IN user_id INT, IN username VARCHAR(50), IN email VARCHAR(100))BEGINUPDATE users SET username = username, email = email WHERE id = user_id;END //DELIMITER ;```2. 调用存储过程(1)调用“get_user_info”存储过程查询用户信息。
```sqlCALL get_user_info(1);```(2)调用“update_user_info”存储过程更新用户信息。
Redis实验报告5(存储过程与函数)(1)(1)

Redis实验报告5(存储过程与函数)(1)(1)简介本报告旨在介绍Redis中存储过程与函数的使用方法和实验结果。
存储过程与函数1. 存储过程存储过程是一组预编译的SQL语句集合,通过存储在数据库服务器上执行,可以实现复杂的业务逻辑。
Redis提供了类似存储过程的功能,让用户能够在Redis中执行一系列的操作并返回结果。
2. 函数函数是一段可重复使用的代码块,可以接受输入参数并返回一个值。
在Redis中,我们可以定义和使用函数来处理数据和执行计算。
实验过程1. 创建存储过程- 使用Redis的脚本语言编写存储过程的代码。
- 将代码保存为一个脚本文件。
- 在Redis中执行脚本文件,创建存储过程。
2. 调用存储过程- 使用Redis的EVAL命令调用已创建的存储过程。
- 传递必要的参数给存储过程。
- 获取存储过程返回的结果。
3. 定义函数- 使用Redis的脚本语言编写函数的代码。
- 将代码保存为一个脚本文件。
- 在Redis中执行脚本文件,定义函数。
4. 调用函数- 使用Redis的EVAL命令调用已定义的函数。
- 传递必要的参数给函数。
- 获取函数返回的结果。
实验结果经过实验,我们成功创建了存储过程和定义了函数。
通过调用存储过程和函数,我们能够在Redis中执行自定义的操作,并获取相应的结果。
存储过程和函数的使用为我们提供了更大的灵活性和功能扩展性。
结论存储过程和函数是Redis中强大的功能,可以帮助我们实现复杂的业务逻辑和数据处理需求。
通过实验,我们进一步了解了存储过程和函数的使用方法,并验证了它们的有效性和可靠性。
以上是本次实验报告的内容,感谢您的阅读。
存储过程操作实验报告
一、实验模块数据库原理与应用二、实验标题存储过程操作实验三、实验内容1. 实验目的(1)掌握存储过程的概念和作用。
(2)学会创建和使用存储过程。
(3)了解存储过程与触发器的区别。
2. 实验原理存储过程是一组为了完成特定功能的SQL语句集,存储在数据库中供应用程序调用。
它可以提高数据库性能,简化代码编写,提高安全性。
3. 实验步骤(1)创建数据库```sqlCREATE DATABASE IF NOT EXISTS experiment;USE experiment;```(2)创建表```sqlCREATE TABLE IF NOT EXISTS employee (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,department_id INT);CREATE TABLE IF NOT EXISTS department (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50));```(3)插入数据```sqlINSERT INTO employee (name, age, department_id) VALUES ('张三', 25, 1),('李四', 30, 2),('王五', 28, 3);INSERT INTO department (name) VALUES ('技术部'),('业务部'),('售后部');```(4)创建存储过程```sqlDELIMITER //CREATE PROCEDURE get_department_name(IN emp_id INT, OUT dept_name VARCHAR(50))BEGINSELECT INTO dept_name FROM employee e INNER JOIN department d ON e.department_id = d.id WHERE e.id = emp_id;END //DELIMITER ;```(5)调用存储过程```sqlCALL get_department_name(1, @dept_name);SELECT @dept_name AS department_name;```(6)创建触发器```sqlDELIMITER //CREATE TRIGGER before_employee_insertBEFORE INSERT ON employeeFOR EACH ROWBEGINIF NEW.age < 20 THENSIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '年龄不能小于20岁'; END IF;END //DELIMITER ;```(7)尝试插入年龄小于20岁的数据```sqlINSERT INTO employee (name, age, department_id) VALUES ('赵六', 18, 1);```4. 实验结果与分析(1)成功创建存储过程和触发器。
存储过程实验报告
存储过程实验报告一、实验目的本次实验旨在深入了解和掌握存储过程的基本概念、功能及其在数据库管理中的应用。
通过实际操作和实践,提高对存储过程的编写、调试和优化能力,为今后在数据库相关项目中的高效开发和应用奠定坚实的基础。
二、实验环境本次实验使用的数据库管理系统为 MySQL 80,操作系统为Windows 10。
开发工具使用了 MySQL Workbench 80。
三、实验内容(一)创建简单的存储过程创建一个存储过程,用于计算两个整数的和。
以下是创建存储过程的代码:```sqlDELIMITER //CREATE PROCEDURE add_numbers(IN num1 INT, IN num2 INT, OUT sum INT)BEGINSET sum = num1 + num2;END //DELIMITER ;```(二)调用存储过程使用以下代码调用上述创建的存储过程:```sqlCALL add_numbers(5, 10, @result);SELECT @result;```(三)带有条件判断的存储过程创建一个存储过程,根据传入的学生成绩判断其等级。
如果成绩大于等于 90 为“优秀”,大于等于 80 小于 90 为“良好”,大于等于 60 小于80 为“及格”,小于 60 为“不及格”。
以下是存储过程的代码:```sqlDELIMITER //CREATE PROCEDURE grade_judge(IN score INT, OUT grade VARCHAR(10))BEGINIF score >= 90 THENSET grade ='优秀';ELSEIF score >= 80 AND score < 90 THEN SET grade ='良好';ELSEIF score >= 60 AND score < 80 THEN SET grade ='及格';ELSESET grade ='不及格';END IF;END //DELIMITER ;```调用该存储过程的代码如下:```sqlCALL grade_judge(85, @result_grade);SELECT @result_grade;```(四)带有循环的存储过程创建一个存储过程,计算 1 到 100 的整数之和。
实验存储过程实验报告
一、实验目的1. 了解存储过程的基本概念和作用。
2. 掌握存储过程的创建、执行和修改方法。
3. 学会使用存储过程进行数据库操作,提高数据库操作效率。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建存储过程2. 执行存储过程3. 修改存储过程4. 删除存储过程四、实验步骤1. 创建存储过程(1)打开MySQL Workbench,连接到本地数据库。
(2)在查询窗口中输入以下SQL语句创建一个存储过程:DELIMITER //CREATE PROCEDURE SelectAllStudents()BEGINSELECT FROM students;END //DELIMITER ;(3)执行以上SQL语句,成功创建存储过程。
2. 执行存储过程(1)在查询窗口中输入以下SQL语句执行存储过程:CALL SelectAllStudents();(2)观察查询结果,确认存储过程执行成功。
3. 修改存储过程(1)打开查询窗口,输入以下SQL语句修改存储过程:DELIMITER //CREATE PROCEDURE SelectAllStudents()BEGINSELECT id, name, age FROM students;END //DELIMITER ;(2)执行以上SQL语句,成功修改存储过程。
4. 删除存储过程(1)在查询窗口中输入以下SQL语句删除存储过程:DROP PROCEDURE IF EXISTS SelectAllStudents;(2)执行以上SQL语句,成功删除存储过程。
五、实验总结1. 通过本次实验,我们了解了存储过程的基本概念和作用,学会了创建、执行、修改和删除存储过程的方法。
2. 存储过程可以提高数据库操作效率,降低代码重复性,提高代码可维护性。
3. 在实际开发过程中,合理使用存储过程可以简化数据库操作,提高应用程序的性能。
MySQL实验报告5存储过程与函数
MySQL实验报告5存储过程与函数实验报告要求:1.描述MySQL中存储过程与函数的概念和作用;2.实验编写并执行存储过程;3.实验编写并执行函数;4.实验总结。
稿件如下:一、概念和作用1.提高性能:存储过程和函数在数据库内部执行,避免了与客户端的通信,因此可以大大减少网络传输的开销,提高了查询的效率。
2.提高安全性:存储过程和函数能够限制对数据库的访问权限,只有具有执行权限的用户才能调用它们。
这样可以减少非法操作对数据库的破坏。
3.代码复用:存储过程和函数可以重复调用,提高了代码的复用性。
在一个复杂的业务场景中,可以多次调用同一个存储过程或函数,简化了代码的编写。
4.封装业务逻辑:存储过程和函数可以将一系列的SQL语句封装成一个单元,从而实现复杂的业务逻辑。
调用方只需要调用存储过程或函数,而不需要了解具体的实现细节。
二、存储过程实验下面通过一个实验来演示存储过程的编写和执行。
实现一个存储过程,根据输入的用户ID,在用户表中查询该用户的信息,并返回查询结果。
```sqlCREATE PROCEDURE getUser(IN p_userId INT)BEGINSELECT * FROM user WHERE id = p_userId;END```以上代码中,CREATE PROCEDURE用于创建一个存储过程,getUser是存储过程的名称,IN p_userId INT表示输入参数,SELECT * FROM user WHERE id = p_userId;是存储过程的逻辑。
执行存储过程的方式可以是直接调用存储过程的名称:```sqlCALL getUser(1);```上述代码表示调用getUser存储过程,并传入参数1三、函数实验下面通过一个实验来演示函数的编写和执行。
实现一个函数,根据输入的用户名,返回该用户的年龄。
```sqlCREATE FUNCTION getAge(p_username VARCHAR(20))RETURNSINTBEGINDECLARE age INT;SELECT age INTO age FROM user WHERE username = p_username;RETURN age;END```以上代码中,CREATE FUNCTION用于创建一个函数,getAge是函数的名称,p_username VARCHAR(20)表示输入参数,RETURNS INT表示返回值类型,DECLARE age INT;是声明一个局部变量,SELECT age INTO age FROM user WHERE username = p_username;是函数的逻辑。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学数据库系统实验(实习)报告实验(实习)名称数据库系统实验4 实验(实习)日期2016-6-7 得分指导教师顾韵华系计软院专业计科年级2014级班次计科 3 班姓名仇彤学号20141308071一、实验目1、掌握T-SQL函数及其调用方法。
2、掌握存储过程的定义及执行方法。
3、掌握有参存储过程的定义及执行方法。
4、掌握C#访问数据库的方法。
二、实验内容1、使用系统函数(DA TEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。
(P299"思考与练习")2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户姓名。
3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。
4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。
5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。
6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回江苏南京的客户编号、姓名、及其订购商品的编号、商品名称与数量,并使用EXEC语句执行存储过程。
7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、姓名、订购数量,并使用EXEC语句执行存储过程。
8、定义存储过程SP_Total,查询指定商品编号的总订购数。
并执行该存储过程。
9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。
并执行该存储过程。
10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。
并执行该存储过程。
11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;若存在,输出1;否则,输出0。
并执行该存储过程。
12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;若存在,用输出参数传出1;否则传出0。
三、实验过程与结果1、使用系统函数(DATEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。
(P299"思考与练习")设计的SQL语句如下:print datediff(d,getdate(),'2020-1-1')执行结果:2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户姓名。
设计的SQL语句如下:select 客户姓名from KHB x,(select b、客户编号,SUM(数量) as 总数量from KHB a,SPDGB bwhere a、客户编号=b、客户编号group by b、客户编号)ywhere x、客户编号=y、客户编号and CAST(y、总数量as CHAR(3)) like '1_'执行结果:3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。
设计的SQL语句如下:use SPDGgoif exists(select name from sysobjectswhere type='FN' and name='RectArea')drop function QryGoodsgocreate function RectArea(@l1 int,@l2 int)returns intasbeginreturn @l1*@l2;endgodeclare @a int,@b intset @a=10set @b=9declare @area intselect @area=dbo、RectArea(@a,@b);print @area4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。
设计的SQL语句如下:use SPDGgoif exists(select name from sysobjectswhere type='FN' and name='QryGoods')drop function QryGoodsgocreate function QryGoods(@bh char(9))returns char(20)asbegindeclare @name char(20)select @name=(select 商品名称from SPB awhere a、商品编号=@bh)return @nameendgodeclare @bh2 char(9)set @bh2='10010001'declare @name2 char(20)select @name2=dbo、QryGoods(@bh2);print @name2执行结果:5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='GetSPBH' and type='p')drop procedure GetSPBHgocreate procedure GetSPBHasselect 商品编号from SPBgoexec GetSPBH执行结果:6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回江苏南京的客户编号、姓名、及其订购商品的编号、商品名称与数量,并使用EXEC语句执行存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='KH_NJ_Qry' and type='p')drop procedure KH_NJ_Qrygocreate procedure KH_NJ_Qryasselect a、客户编号,a、客户姓名,c、商品编号,c、数量,b、商品名称from KHB a,SPB b,SPDGB cwhere a、客户编号=c、客户编号and c、商品编号=b、商品编号and a、所在省市='江苏南京' goexec KH_NJ_Qry执行结果:7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、姓名、订购数量,并使用EXEC语句执行存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='SP_FOOD_Qry' and type='p')drop procedure SP_FOOD_Qrygocreate procedure SP_FOOD_Qryasselect a、客户编号,a、客户姓名,c、商品编号,c、数量,b、商品名称from KHB a,SPB b,SPDGB cwhere a、客户编号=c、客户编号and c、商品编号=b、商品编号and b、商品类别='食品'goexec SP_FOOD_Qry执行结果:8、定义存储过程SP_Total,查询指定商品编号的总订购数。
并执行该存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='SP_Total' and type='p')drop procedure SP_Totalgocreate procedure SP_Total@num char(10)asselect SUM(数量) as 总订购数from SPDGBwhere 商品编号=@numgoexec SP_Total '10010001'执行结果:9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。
并执行该存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='SP_Totalcost' and type='p')drop procedure SP_Totalcostgocreate procedure SP_Totalcost@num char(10)asdeclare @number floatdeclare @money floatselect @number=SUM(数量)from SPDGBwhere 商品编号=@numselect 单价*@number as 总订购金额from SPBwhere 商品编号=@numgoexec SP_Totalcost '10020001'执行结果:10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。
并执行该存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='SP_Name_Qry' and type='p')drop procedure SP_Name_Qrygocreate procedure SP_Name_Qry@name char(20)asselect *from SPBwhere 商品名称=@namegoexec SP_Name_Qry '休闲服'执行结果:11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;若存在,输出1;否则,输出0。
并执行该存储过程。
设计的SQL语句如下:use SPDGif exists(select name from sysobjectswhere name='SP_Name_Qry1' and type='p')drop procedure SP_Name_Qry1gocreate procedure SP_Name_Qry1@name char(20)asif exists(select *from SPBwhere 商品名称=@name)print 1elseprint 0goexec SP_Name_Qry1 '咖啡'执行结果:12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;若存在,用输出参数传出1;否则传出0。