delimiter $$
createprocedure test01(id varchar(20),out sName varchar(20))beginselect studentName into sName from students where studentNo = id;end$$
delimiter;call test01('s1001',@sname);select@sname;
根据编号查询vip的名字(传入编号,获取名字和性别)
delimiter $$
createprocedure test02(id varchar(20),out sName varchar(20),out gender varchar(5))beginselect studentName, sex into sName,gender from students where studentNo = id;end$$
delimiter;call test02('s1001',@sname,@gender);select@sname,@gender;
创建过程,根据输入的成绩编号【pk】,获取该学号,科目号以及成绩
delimiter $$
createprocedure test03(sid int,out stuid varchar(20),out subid int(5),out score varchar(10))beginselect studentNo,subjectId,studentScore into stuid,subid,score from achievements where id = sid;end$$
delimiter;call test03(1,@id,@subid,@score);select@id,@subid,@score;
根据考试号查找学生的名字,科目名字,以及成绩
delimiter $$
createprocedure test04(eid int,out sName varchar(20),out subName varchar(20),out score varchar(10))beginselect s.studentName, a.studentScore, sub.subjectName
into sName, score, subName from students s innerjoin
achievements a on a.studentNo = s.studentNo innerjoin
subjects sub on sub.subjectId = a.subjectId
where a.id = eid;end$$
delimiter;call test04(1,@sName,@subName,@score);select@sName,@subName,@score;
使用存储函数|过程 传入学号,获取学生的姓名,总分,平均分
delimiter $$
createprocedure test05(sid varchar(20),out sName varchar(20),out total varchar(20),out average varchar(20))beginselect studentName into sName from students where studentNo = sid;selectSUM(studentScore),AVG(studentScore)into total, average from achievements where studentNo = sid;end$$
delimiter;call test05('s1001',@sName,@total,@average);select@sName,@total,@average;