sql 调用已经建立的存储过程
共有三张表学生表(学号,姓名,性别,班级,入学成绩,入学日期,家庭住址,年龄,简历)选课成绩表(选课ID,学号,课程编号,成绩)课程表(课程编号,课程名称,学分,授课教师...
共有三张表学生表(学号,姓名,性别,班级,入学成绩,入学日期,家庭住址,年龄
,简历) 选课成绩表( 选课ID,学号,课程编号,成绩) 课程表( 课程编号,课程名称,学分,授课教师)
1.建立存储过程pro_tc,查询某一名教师所上的课程的名称,用变量返回查询结果(即课程名称),该存储过程包含一个输入参数。
create proc proc_avg
(@name char(10),
@avg float output)
as
select @avg=avg(成绩)
from 选课成绩表,学生表
where 姓名=@name and 选课成绩表.学号=学生表.学号
2.调用存储过程proc_avg,查询“李进”所上的课程名称
???、怎么写 展开
,简历) 选课成绩表( 选课ID,学号,课程编号,成绩) 课程表( 课程编号,课程名称,学分,授课教师)
1.建立存储过程pro_tc,查询某一名教师所上的课程的名称,用变量返回查询结果(即课程名称),该存储过程包含一个输入参数。
create proc proc_avg
(@name char(10),
@avg float output)
as
select @avg=avg(成绩)
from 选课成绩表,学生表
where 姓名=@name and 选课成绩表.学号=学生表.学号
2.调用存储过程proc_avg,查询“李进”所上的课程名称
???、怎么写 展开
3个回答
展开全部
实现的方法和详细的操作步骤如下:
1、第一步,创建一个存储过程,该代码如图所示。存储过程的主要目的是为表“JingYan”插入新数据,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,执行以下几行代码,并查看执行是否成功。现在,数据库中有一个存储过程源“sp_JY”,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,查看“JingYan”表中的当前数组,只有三行数据,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,在mysql中,要调用存储过程,只需使用“call”关键字并输入存储过程的名称即可。当然,如果有参数,则需要带一个参数。代码见下图,然后进入下一步。
5、随后,完成上述步骤后,再次查看“JingYan”表中的数据,可以看到当前数据已经是四个,这表明对存储过程的调用已成功插入了新数据,如下图所示,然后进入下一步。
6、接着,完成上述步骤后,添加另一个存储过程,该存储过程使用select语句返回表数据,如下图所示,然后进入下一步。
7、最后,完成上述步骤后,调用新的存储过程,可以看到结果中已经返回了表数据,如下图所示。这样,问题就解决了。
展开全部
关于DelPhi调用存储过程,用SQL server自带的“创建存储过程向导”给表login建立一个更新存储过程。 悬赏分:100 | 离问题结束还有 12 天 18 小时 | 提问
追问
复制黏贴的真...........................
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1)建立存储过程pro_tc,查询某一名教师所上的课程的名称,用变量返回查询结果(即课程名称),该存储过程包含一个输入参数。
create proc pro_tc(@tname varchar(10),@g varchar(1000) output)
as
begin
set @g=''
select distinct @g=@g+课程名称+',' from 课程表 where 授课教师=@tname
set @g=stuff(@g,len(@g)-1,1,'')
end
2)调用存储过程proc_avg,查询“李进”所上的课程名称???、怎么写
declare @savg float
exec proc_avg @name='李进',@avg=@savg output
select @savg
你写的存储过程是调取某学生的平均成绩,不能查询所上的课程名称
create proc pro_tc(@tname varchar(10),@g varchar(1000) output)
as
begin
set @g=''
select distinct @g=@g+课程名称+',' from 课程表 where 授课教师=@tname
set @g=stuff(@g,len(@g)-1,1,'')
end
2)调用存储过程proc_avg,查询“李进”所上的课程名称???、怎么写
declare @savg float
exec proc_avg @name='李进',@avg=@savg output
select @savg
你写的存储过程是调取某学生的平均成绩,不能查询所上的课程名称
更多追问追答
追问
第二题不是调用存储过程proc_avg么 那是什么意思? 难道再重新写一个存储过程?
追答
是不是要你重新再写个存储过程?
dorp proc proc_avg
--删除已建立的存储过程proc_avg
create proc proc_avg(@name varchar(10))
as
select 课程表.课程 from 学生表,成绩表,课程表 where 学生表.学号=成绩表.学号 and 成绩表.课程编号=课程表.课程编号 and 学生表.姓名=@name
--重新建立个新的查询某学生的所有课程的存储过程
--执行:
exec proc_avg @name='李进'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询