利用存储过程把两个表的数据插入到一个新表中(存储过程中写两个

php中文网
发布: 2016-06-07 15:22:21
原创
2367人浏览过

create procedure [dbo].[getallstuclicktime] @stime nvarchar(20),--开始时间 @etime nvarchar(20)--结束时间 --时间为第一个循环体 以这个时间段为范围 AS BEGIN declare @days int declare @datediff int declare @datetime datetime declare @count INT

create procedure [dbo].[getallstuclicktime]

@stime nvarchar(20),--开始时间
@etime nvarchar(20)--结束时间

--时间为第一个循环体 以这个时间段为范围
AS
BEGIN
declare @days int
declare @datediff int
declare @datetime datetime
declare @count INT
declare @classID nvarchar(50)
declare @people nvarchar(20)--学生卡号
declare @type nvarchar(50)--打卡类型
declare @typeValue nvarchar(50)--打卡类型Value值

set datefirst 1
set @count = 0
set @days = 0
set @datediff = datediff(day,@stime,@etime)
while @days begin
set @datetime = dateadd(day,@days,@stime)

--第二个循环取出学生表中的学生姓名,班级编号

--新建游标
declare StuClickTime cursor for select ClassName,TTCard from dbo.vw_StudentInfo

--打开游标
open StuClickTime

--从游标里取出数据给 变量 赋值
fetch next from StuClickTime into @classID,@people
begin

--判断游标的状态

-- 0 fetch语句成功

-- -1 fetch语句失败或此行不在结果集中

-- -2被提取的行不存在
while @@fetch_status = 0
begin

--第三个循环体,将每个学生的每个类型循环

--新建游标
declare StuClickTimeTyp cursor for select PBC_Name,PBC_Value from TB_Code where PBC_Node=48

--打开游标
open StuClickTimeTyp

--从游标里取出数据给 变量 赋值
fetch next from StuClickTimeTyp into @type,@typeValue
begin

--判断游标的状态

-- 0 fetch语句成功

-- -1 fetch语句失败或此行不在结果集中

-- -2被提取的行不存在
while @@fetch_status = 0

begin

--判断新表中是否存在此条循环出来的数据

SecLists
SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SecLists 33
查看详情 SecLists

set @count = (select isnull(count(*),0) from dbo.Sm_CheckInout where UserID=@people and resultType=@type and ClockTime=@datetime )

if(@count = 0)
begin
insert into Sm_CheckInout(ClassID,UserID,resultType,ClockTime,resultTypeValue) values(@classID,@people,@type,@datetime,@typeValue)

end--用游标去取下一条记录
fetch next from StuClickTimeTyp into @type,@typeValue
end
end

--关闭游标
close StuClickTimeTyp

--撤销游标
deallocate StuClickTimeTyp

--用游标去取下一条记录
fetch next from StuClickTime into @classID,@people
end

end

--关闭游标
close StuClickTime

--撤销游标
deallocate StuClickTime
set @days = @days + 1 --循环完了一天然后加一
end
END
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号