USE [EachflyPM]
GO
/****** Object: StoredProcedure [dbo].[Sp_SubmitTaskPlanMonth] Script Date: 04/09/2014 09:03:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Batch submitted through debugger: SQLQuery15.sql|7|0|C:\Users\Administrator\AppData\Local\Temp\~vs37CD.sql
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Sp_SubmitTaskPlanMonth]
@PP_ID varchar(2000),
@WbsIDList varchar(8000), --任务ID列表
@Submiter varchar(50) -- 提交人ID
AS
BEGIN
DECLARE @object_id nvarchar(500)
DECLARE @i INT
DECLARE @len INT
DECLARE @count INT
declare @keyid varchar(50)
declare @sql varchar(2000)
declare @k int
declare @PP_year int
declare @PP_Month int
--print @WbsIDList
IF (@WbsIDList IS NULL)
RETURN
IF (LTRIM(@WbsIDList) = '')
RETURN
SET @WbsIDList = @WbsIDList + ',' -- 特殊处理,便于后续循环
select @PP_year = PP_Year from FlyPM_PrjPlan where PP_ID = @PP_ID
select @PP_Month = PP_Month from FlyPM_PrjPlan where PP_ID = @PP_ID
WHILE CHARINDEX(',',@WbsIDList) > 0
BEGIN
SET @len = LEN(@WbsIDList)
SET @i = CHARINDEX(',', @WbsIDList)
SET @object_id = LEFT(@WbsIDList, @i-1)
set @k = 1
--为啥下面的@PP_year和@PP_Month获取不到
IF not exists(select PP_ID from FlyPM_PrjPlan where PP_Year = @PP_year and PP_Month = @PP_Month and PP_Status = 1 and PP_Version = 2)
BEGIN
EXEC EachflyPlatform.dbo.sp_System_FlowID_Create 'PM','FlyPM_PrjPlan',@keyId output
INSERT INTO FlyPM_PrjPlan(PP_ID,PP_Year,PP_Month,PP_Status,PP_Version) values(@keyid,@PP_year,@PP_Month,1,2)
END
ELSE
BEGIN
set @keyid = @PP_ID
END
--其他代码
SET @WbsIDList = RIGHT(@WbsIDList, @len - @i)
END
END
------解决方案--------------------
吧 sql 语句 打印 出来 看看 吧 这样看 太 麻烦了
------解决方案--------------------
select @PP_year = PP_Year from FlyPM_PrjPlan where PP_ID = @PP_ID
select @PP_Month = PP_Month from FlyPM_PrjPlan where PP_ID = @PP_ID
这里PRINT @PP_year 能得到结果不?
------解决方案--------------------
从程序看应该不会出现这种情况,建议查一下FlyPM_PrjPlan是否有其他数据来源.
------解决方案--------------------
EXEC EachflyPlatform.dbo.sp_System_FlowID_Create 'PM','FlyPM_PrjPlan',@keyId output
在SELECT @KEYID