?? proc_
字號(hào):
if exists(select name from sysobjects where name='proc_月結(jié)' AND TYPE='P' )
DROP PROC proc_月結(jié)
go
create proc proc_月結(jié)
@年 INT,
@月 INT
AS
INSERT INTO 明細(xì)庫(kù)存表 ( 物料編碼,物料描述,月初結(jié)存數(shù)量,月初材料成本,月初人工成本,月初制造費(fèi)用 )SELECT 物料編碼,物料描述,月末結(jié)存數(shù)量,月末材料成本,月末人工成本,月末制造費(fèi)用
FROM 明細(xì)庫(kù)存表 WHERE 年=@年 AND 月=@月
UPDATE 會(huì)計(jì)期間 SET 一期月結(jié)='1' WHERE YEAR(一期)=@年 AND MONTH(一期)=@月
UPDATE 會(huì)計(jì)期間 SET 一期月結(jié)='1' WHERE YEAR(一期)=@年 AND MONTH(一期)=@月
UPDATE 會(huì)計(jì)期間 SET 二期月結(jié)='1' WHERE YEAR(二期)=@年 AND MONTH(二期)=@月
UPDATE 會(huì)計(jì)期間 SET 三期月結(jié)='1' WHERE YEAR(三期)=@年 AND MONTH(三期)=@月
UPDATE 會(huì)計(jì)期間 SET 四期月結(jié)='1' WHERE YEAR(四期)=@年 AND MONTH(四期)=@月
UPDATE 會(huì)計(jì)期間 SET 五期月結(jié)='1' WHERE YEAR(五期)=@年 AND MONTH(五期)=@月
UPDATE 會(huì)計(jì)期間 SET 六期月結(jié)='1' WHERE YEAR(六期)=@年 AND MONTH(六期)=@月
UPDATE 會(huì)計(jì)期間 SET 七期月結(jié)='1' WHERE YEAR(七期)=@年 AND MONTH(七期)=@月
UPDATE 會(huì)計(jì)期間 SET 八期月結(jié)='1' WHERE YEAR(八期)=@年 AND MONTH(八期)=@月
UPDATE 會(huì)計(jì)期間 SET 九期月結(jié)='1' WHERE YEAR(九期)=@年 AND MONTH(九期)=@月
UPDATE 會(huì)計(jì)期間 SET 十期月結(jié)='1' WHERE YEAR(十期)=@年 AND MONTH(十期)=@月
UPDATE 會(huì)計(jì)期間 SET 十一期月結(jié)='1' WHERE YEAR(十一期)=@年 AND MONTH(十一期)=@月
UPDATE 會(huì)計(jì)期間 SET 十二期月結(jié)='1' WHERE YEAR(十二期)=@年 AND MONTH(十二期)=@月
BEGIN
DECLARE MON SCROLL CURSOR FOR
SELECT 二期,二期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON
DECLARE @二期 DATETIME,@二期開(kāi)始日期 DATETIME
FETCH MON INTO @二期 , @二期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@二期開(kāi)始日期),月=MONTH(@二期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@二期) AND 月=MONTH(@二期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON INTO @二期 , @二期開(kāi)始日期
END
CLOSE MON
DEALLOCATE MON
END
DECLARE MON2 SCROLL CURSOR FOR
SELECT 三期, 三期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON2
DECLARE @三期 DATETIME, @三期開(kāi)始日期 DATETIME
FETCH MON2 INTO @三期, @三期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@三期開(kāi)始日期),月=MONTH(@三期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@三期) AND 月=MONTH(@三期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON2 INTO @三期, @三期開(kāi)始日期
END
CLOSE MON2
DEALLOCATE MON2
DECLARE MON3 SCROLL CURSOR FOR
SELECT 四期, 四期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON3
DECLARE @四期 DATETIME, @四期開(kāi)始日期 DATETIME
FETCH MON3 INTO @四期, @四期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@四期開(kāi)始日期),月=MONTH(@四期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@四期) AND 月=MONTH(@四期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON3 INTO @四期, @四期開(kāi)始日期
END
CLOSE MON3
DEALLOCATE MON3
DECLARE MON4 SCROLL CURSOR FOR
SELECT 五期, 五期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON4
DECLARE @五期 DATETIME, @五期開(kāi)始日期 DATETIME
FETCH MON4 INTO @五期, @五期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@五期開(kāi)始日期),月=MONTH(@五期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@五期) AND 月=MONTH(@五期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON4 INTO @五期, @五期開(kāi)始日期
END
CLOSE MON4
DEALLOCATE MON4
DECLARE MON5 SCROLL CURSOR FOR
SELECT 六期, 六期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON5
DECLARE @六期 DATETIME, @六期開(kāi)始日期 DATETIME
FETCH MON5 INTO @六期, @六期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@六期開(kāi)始日期),月=MONTH(@六期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@六期) AND 月=MONTH(@六期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON5 INTO @六期, @六期開(kāi)始日期
END
CLOSE MON5
DEALLOCATE MON5
DECLARE MON6 SCROLL CURSOR FOR
SELECT 七期, 七期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON6
DECLARE @七期 DATETIME, @七期開(kāi)始日期 DATETIME
FETCH MON6 INTO @七期, @七期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@七期開(kāi)始日期),月=MONTH(@七期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@七期) AND 月=MONTH(@七期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON6 INTO @七期, @七期開(kāi)始日期
END
CLOSE MON6
DEALLOCATE MON6
DECLARE MON7 SCROLL CURSOR FOR
SELECT 八期, 八期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON7
DECLARE @八期 DATETIME, @八期開(kāi)始日期 DATETIME
FETCH MON7 INTO @八期, @八期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@八期開(kāi)始日期),月=MONTH(@八期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@八期) AND 月=MONTH(@八期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON7 INTO @八期, @八期開(kāi)始日期
END
CLOSE MON7
DEALLOCATE MON7
DECLARE MON8 SCROLL CURSOR FOR
SELECT 九期, 九期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON8
DECLARE @九期 DATETIME, @九期開(kāi)始日期 DATETIME
FETCH MON8 INTO @九期, @九期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@九期開(kāi)始日期),月=MONTH(@九期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@九期) AND 月=MONTH(@九期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON8 INTO @九期, @九期開(kāi)始日期
END
CLOSE MON8
DEALLOCATE MON8
DECLARE MON9 SCROLL CURSOR FOR
SELECT 十期, 十期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON9
DECLARE @十期 DATETIME, @十期開(kāi)始日期 DATETIME
FETCH MON9 INTO @十期, @十期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@十期開(kāi)始日期),月=MONTH(@十期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@十期) AND 月=MONTH(@十期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON9 INTO @十期, @十期開(kāi)始日期
END
CLOSE MON9
DEALLOCATE MON9
DECLARE MON10 SCROLL CURSOR FOR
SELECT 十一期, 十一期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON10
DECLARE @十一期 DATETIME, @十一期開(kāi)始日期 DATETIME
FETCH MON10 INTO @十一期, @十一期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@十一期開(kāi)始日期),月=MONTH(@十一期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@十一期) AND 月=MONTH(@十一期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON10 INTO @十一期, @十一期開(kāi)始日期
END
CLOSE MON10
DEALLOCATE MON10
DECLARE MON11 SCROLL CURSOR FOR
SELECT 十二期, 十二期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON11
DECLARE @十二期 DATETIME, @十二期開(kāi)始日期 DATETIME
FETCH MON11 INTO @十二期, @十二期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=YEAR(@十二期開(kāi)始日期),月=MONTH(@十二期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=YEAR(@十二期) AND 月=MONTH(@十二期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON11 INTO @十二期, @十二期開(kāi)始日期
END
CLOSE MON11
DEALLOCATE MON11
DECLARE MON12 SCROLL CURSOR FOR
SELECT 一期, 一期開(kāi)始日期 FROM 會(huì)計(jì)期間
OPEN MON12
DECLARE @一期 DATETIME, @一期開(kāi)始日期 DATETIME
FETCH MON12 INTO @一期, @一期開(kāi)始日期
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 年=1+YEAR(@一期開(kāi)始日期),月=MONTH(@一期開(kāi)始日期)
WHERE not exists (select 年,月 from 明細(xì)庫(kù)存表 where 年=1+YEAR(@一期) AND 月=MONTH(@一期)) AND (年 IS NULL AND 月 IS NULL)
FETCH MON12 INTO @一期, @一期開(kāi)始日期
END
CLOSE MON12
DEALLOCATE MON12
SELECT * FROM 明細(xì)庫(kù)存表
-- EXEC proc_月結(jié) 2005,6
go
if exists(select name from sysobjects where name='proc_月結(jié)檢查' AND TYPE='P' )
DROP PROC proc_月結(jié)檢查
go
create proc proc_月結(jié)檢查
@日期 DATETIME
AS
DECLARE @一期月結(jié) CHAR(1),@二期月結(jié) CHAR(1),@三期月結(jié) CHAR(1),
@四期月結(jié) CHAR(1), @五期月結(jié) CHAR(1),@六期月結(jié) CHAR(1)
DECLARE @七期月結(jié) CHAR(1),@八期月結(jié) CHAR(1),@九期月結(jié) CHAR(1),
@十期月結(jié) CHAR(1), @十一期月結(jié) CHAR(1),@十二期月結(jié) CHAR(1)
SELECT @一期月結(jié)=一期月結(jié),@二期月結(jié)=二期月結(jié),@三期月結(jié)=三期月結(jié),@四期月結(jié)=四期月結(jié),@五期月結(jié)=五期月結(jié),@六期月結(jié)=六期月結(jié),@七期月結(jié)=七期月結(jié),@八期月結(jié)=八期月結(jié),
@九期月結(jié)=九期月結(jié),@十期月結(jié)=十期月結(jié),@十一期月結(jié)=十一期月結(jié),@十二期月結(jié)=十二期月結(jié)
FROM 會(huì)計(jì)期間
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 一期開(kāi)始日期<=@日期 AND 一期結(jié)束日期>=@日期 AND @一期月結(jié)=0)
RETURN 0/*返回一個(gè)成功值,即在未進(jìn)行月結(jié)時(shí),可以繼續(xù)進(jìn)行這個(gè)月的業(yè)務(wù)處理,如增加/修改*/
ELSE
RETURN 1/*返回一個(gè)失敗值,即在已進(jìn)行月結(jié)后,不可以繼續(xù)進(jìn)行這個(gè)月的業(yè)務(wù)處理,如增加/修改*/
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 二期開(kāi)始日期<=@日期 AND 二期結(jié)束日期>=@日期 AND @二期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 三期開(kāi)始日期<=@日期 AND 三期結(jié)束日期>=@日期 AND @三期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 四期開(kāi)始日期<=@日期 AND 四期結(jié)束日期>=@日期 AND @四期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 五期開(kāi)始日期<=@日期 AND 五期結(jié)束日期>=@日期 AND @五期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 六期開(kāi)始日期<=@日期 AND 六期結(jié)束日期>=@日期 AND @六期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 七期開(kāi)始日期<=@日期 AND 七期結(jié)束日期>=@日期 AND @七期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 八期開(kāi)始日期<=@日期 AND 八期結(jié)束日期>=@日期 AND @八期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 九期開(kāi)始日期<=@日期 AND 九期結(jié)束日期>=@日期 AND @九期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 十期開(kāi)始日期<=@日期 AND 十期結(jié)束日期>=@日期 AND @十期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 十一期開(kāi)始日期<=@日期 AND 十一期結(jié)束日期>=@日期 AND @十一期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
BEGIN
IF EXISTS(SELECT * FROM 會(huì)計(jì)期間 WHERE 十二期開(kāi)始日期<=@日期 AND 十二期結(jié)束日期>=@日期 AND @十二期月結(jié)=0)
RETURN 0
ELSE
RETURN 1
END
--select *from 會(huì)計(jì)期間
-- exec proc_月結(jié)檢查 '2004/01/28'
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -