创建存储过程
来源:互联网 发布:淘宝不能登录 编辑:程序博客网 时间:2024/06/10 13:21
-- 功能:用存储过程实现对工作表和休息表的更新
--
-- 创建时间:2010-12-14
----------------------------- 创建存储过程 -------------------------------
--1、工作转休息
-----名称:Proc_UpdateDayOff
-----参数:@offdate , @remark , @flag
create proc Proc_UpdateDayOff @offdate datetime, @remark nvarchar(50) , @flag bit
as
begin tran -- 开始事务
insert into DayOff(RestDate,Remarks,Flag) values (@offdate,@remark,@flag)
delete from WorkDay where WorkDate = @offdate
if @@error > 0 -- 判断操作是否出现错误
begin
Rollback tran -- 出现错误 -> 回滚
select 0
end
else
begin
commit tran -- 没有错误 -> 执行
select 1
end
--1、工作转休息
----定义参数
declare @offdate datetime
declare @remark = nvarchar(50)
declare @flag = bit
----设置参数
set @offdate = '2010/02/01'
set @remark = '放假'
set @flag = 1
----执行
EXEC Proc_UpdateDayOff @offdate, @remark,@flag
--2、休息转工作
-----名称:Proc_UpdateWorkDay
-----参数:@ondate
-- 把休息表的数据添加到工作表
create proc Proc_UpdateWorkDay @ondate datetime
as
begin tran -- 开始事务
insert into WorkDay(WorkDate) values (@ondate)
delete from DayOff where RestDate = @ondate
if @@error > 0 -- 判断操作是否出现错误
begin
Rollback tran -- 出现错误 -> 回滚
return 0
end
else
begin
commit tran -- 没有错误 -> 执行
select 1
end
--2、休息转工作
----定义参数
declare @ondate datetime
----设置参数
set @ondate = '2010/2/3'
---执行
EXEC Proc_UpdateWorkDay @ondate
--3、设定法定节日
----名称: Proc_SetDayOff
----参数: @starttime,@endtime, @remark, @flag
alter proc Proc_SetDayOff
(
@starttime datetime, --开始日期
@endtime datetime, --结束日期
@remark nvarchar(50), --备注
@flag bit --是否为法定节日
)
as
begin tran -- 开始事务
while(datediff(d,@starttime,@endtime) >= 0 )
begin
insert into DayOff(RestDate,Remarks,Flag) values (@starttime,@remark,@flag)
delete from WorkDay where WorkDate = @starttime
set @starttime = dateadd(d,1,@starttime)
if @@error > 0 -- 判断操作是否出现错误
begin
Rollback tran -- 出现错误 -> 回滚
select 0
end
end
commit tran -- 没有错误 -> 执行
select 1
--3、设定法定节日
----定义参数
declare @starttime datetime
declare @endtime datetime
declare @remark nvarchar(50)
declare @flag bit
----赋值
set @starttime = '1905/6/25'
set @endtime = '1905/6/28'
set @remark = '放假'
set @flag = 0
----执行
EXEC Proc_SetDayOff @starttime,@endtime,@remark,@flag
----查询执行后结果
select * from DayOff
select * from WorkDay
- 创建存储过程
- 创建存储过程
- 存储过程及其创建
- 创建分页存储过程
- 存储过程 创建
- Oracle 创建存储过程
- 创建Oracle存储过程
- 创建存储过程
- 创建存储过程
- Oracle 创建存储过程
- SQL创建存储过程
- 存储过程创建语法
- mysql创建存储过程
- Oracle 创建存储过程
- 存储过程创建语法
- 存储过程创建语法:
- 创建存储过程
- 创建存储 过程
- 重新ControlFile恢复数据库
- 学习、思考与分享的关系
- 打dota的惩罚
- 访问web元素
- 数据库迁移步骤
- 创建存储过程
- C# 生成高质量缩略图
- 隐藏asp.net页面中的控件的方法
- 物联网规划元旦前后出台 定十领域
- 让TextBox只输入金额或数字的方法
- 重建控制文件引发的一系列ORA
- loadrunner模拟多用户打BOSS压力测试(网页游戏)
- 显示桌面.scf
- CXF 和xercesImpl.jar有冲突才报的错.