如何定义一个存储过程,将一张表中的某个属性列的数据取出,用这些数据更新另一个表
我在数据库中定义了两个表,一个表是课程(课程编号,课程名称),另一表是查询(教室,1-2节,3-4节,5-6节,7-8节,9-10节),这些"1-2节、、、9-10节"课...
我在数据库中定义了两个表,一个表是课程(课程编号,课程名称),另一表是查询(教室,1-2节,3-4节,5-6节,7-8节,9-10节),这些"1-2节、、、9-10节"课节都是属性列,它们是表的外码,对应课程表的主码——课程编,我将课程编号写在了这些属性列里。现在我想写一个存储过程,能实现将课程表中的课程名称,写到查询表中对应的课程编号的位置,并替换,也就是,从新生成一张表,有课节、教室,但是课节属性列中写得都是课程名称,我是在sql server2000 中写得,请哪位大神给我写一段标准格式的sql server2000存储过程代码,很急,求帮帮小女子,万分感激,谢谢啦
展开
1个回答
展开全部
create proc proc_toNew
as
begin
if exists(select * from sysobjects where name='newTable')
drop table newTable
select
s.教室,t1.课程名称 1-2节,t3.课程名称 3-4节,
t5.课程名称 5-6节,t7.课程名称 7-8节,t9.课程名称 9-10节
into newTable
from 查询 s
left join 课程 t1 on s.1-2节=t1.课程编号
left join 课程 t3 on s.3-4节=t3.课程编号
left join 课程 t5 on s.5-6节=t5.课程编号
left join 课程 t7 on s.7-8节=t7.课程编号
left join 课程 t9 on s.9-10节=t9.课程编号
end
go
-------
exec proc_toNew
newTable就是你要的结果.
as
begin
if exists(select * from sysobjects where name='newTable')
drop table newTable
select
s.教室,t1.课程名称 1-2节,t3.课程名称 3-4节,
t5.课程名称 5-6节,t7.课程名称 7-8节,t9.课程名称 9-10节
into newTable
from 查询 s
left join 课程 t1 on s.1-2节=t1.课程编号
left join 课程 t3 on s.3-4节=t3.课程编号
left join 课程 t5 on s.5-6节=t5.课程编号
left join 课程 t7 on s.7-8节=t7.课程编号
left join 课程 t9 on s.9-10节=t9.课程编号
end
go
-------
exec proc_toNew
newTable就是你要的结果.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询