背景:
课程表
课程编号 课程名称 是否考试
10001 软件工程 是
10002 vc语言 是
10003 vb语言 否
考试表
课程编号 课程名称 考试编号
10001 软件工程 ???
10002 vc语言 ???
问题:现在想根据 课程表 的是否考试,来生成 考试表及考试编号。条件:课程表中 是否考试='是' 就生成到考试表中(如果考试表中已存在课程编号了就不在生成了)并生成一个流水号的考试编号。
请前辈指点生成数据和考试编号的问题,小弟先感谢了!
课程表
课程编号 课程名称 是否考试
10001 软件工程 是
10002 vc语言 是
10003 vb语言 否
考试表
课程编号 课程名称 考试编号
10001 软件工程 ???
10002 vc语言 ???
问题:现在想根据 课程表 的是否考试,来生成 考试表及考试编号。条件:课程表中 是否考试='是' 就生成到考试表中(如果考试表中已存在课程编号了就不在生成了)并生成一个流水号的考试编号。
请前辈指点生成数据和考试编号的问题,小弟先感谢了!
select 课程编号,课程名称 from 课程表 where 是否考试='是' and 课程编号 not exist (select 课程编号 from 考试表)考试编号 可以整个自增,不用插入了。
-- 先删再插
if(exists(dbo.考试表))
drop table 考试表
go
select 考试编号=identity(int,1,1),课程编号,课程名称 into 考试表 from 课程表 where 是否考试='是'
where 课程编号=(select 课程编号 from 课程表 where 是否考试='是')
)
begin
insert into 考试表(课程编号, 课程名称,考试编号)
select 课程编号, 课程名称,课程编号+'01' from 课程表
end