30 lines
915 B
Transact-SQL
30 lines
915 B
Transact-SQL
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPL_AutoSaveCurrentData')
|
|
DROP PROCEDURE dbo.PROC_PPL_AutoSaveCurrentData;
|
|
GO
|
|
|
|
CREATE PROCEDURE PROC_PPL_AutoSaveCurrentData
|
|
@TableName varchar(100)
|
|
,@FRECORDDATE datetime
|
|
,@STARTDATE date
|
|
,@ENDDATE date
|
|
,@FRECORDYEAR INT
|
|
,@FRECORDMONTH INT
|
|
AS
|
|
BEGIN
|
|
EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,2052,' ROW_NUMBER() OVER(ORDER BY t0.FID ) FIDENTITYID '
|
|
|
|
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U'))
|
|
BEGIN
|
|
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
|
|
END
|
|
|
|
DECLARE @SQL VARCHAR(2000)
|
|
|
|
SET @sql = '
|
|
SELECT *,'+@FRECORDDATE+' AS FRECORDDATE ,'+@FRECORDYEAR+' AS FRECORDYEAR ,'+@FRECORDMONTH+' AS FRECORDMONTH
|
|
INTO T_PLAN_PLANPLMRPT FROM '+@TableName
|
|
|
|
EXECUTE(@sql)
|
|
|
|
execute(N'drop table'+ @TableName)
|
|
END |