代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
MSSQL
】
利用存储过程把两个表的数据插入到一个新表中
作者:
铠铭
/ 发布于
2015/4/17
/
1081
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 <= @datediff --为天数(第几天第几天) 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 --判断新表中是否存在此条循环出来的数据 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
试试其它关键字
同语言下
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
可能有用的
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
铠铭
贡献的其它代码
(
10
)
.
html上传图片后,在页面显示上传的图片
.
判断一文件是不是字符设备文件,如果是将其拷贝到 /de
.
获取应用程序路径
.
将控制台信息输出到文件
.
检查前10个等待资源的SQL语句
.
删除一个字符串数组中的空字符串
.
BASE16算法
.
Form 获取当前窗口
.
利用存储过程把两个表的数据插入到一个新表中
.
使用QRCode生成二维码
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3