set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROCEDURE [dbo].[Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID]
@TaskSendID int
AS
BEGIN
DECLARE @RequestListID int
DECLARE @TaskTypeCode int
SET NOCOUNT ON
SET @RequestListID='SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID='+CAST( @TaskSendID AS VARCHAR(8) )
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_OtherRequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
IF @TaskTypeCode IS NULL
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_RequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
RETURN @TaskTypeCode
SET NOCOUNT OFF
end消息 245,级别 16,状态 1,过程 Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID,第 11 行
在将 varchar 值 'SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID=159' 转换成数据类型 int 时失败。
set QUOTED_IDENTIFIER ON
goALTER PROCEDURE [dbo].[Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID]
@TaskSendID int
AS
BEGIN
DECLARE @RequestListID int
DECLARE @TaskTypeCode int
SET NOCOUNT ON
SET @RequestListID='SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID='+CAST( @TaskSendID AS VARCHAR(8) )
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_OtherRequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
IF @TaskTypeCode IS NULL
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_RequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
RETURN @TaskTypeCode
SET NOCOUNT OFF
end消息 245,级别 16,状态 1,过程 Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID,第 11 行
在将 varchar 值 'SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID=159' 转换成数据类型 int 时失败。
你定义的int型SET @RequestListID= 你这里赋值成字符串了
set QUOTED_IDENTIFIER ON
goALTER PROCEDURE [dbo].[Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID]
@TaskSendID int
AS
BEGIN
DECLARE @RequestListID VARCHAR(8)
DECLARE @TaskTypeCode VARCHAR(8)
SET NOCOUNT ON
SET @RequestListID='SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID='+CAST(@TaskSendID AS VARCHAR(8))
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_OtherRequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
IF @TaskTypeCode IS NULL
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_RequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
RETURN @TaskTypeCode
SET NOCOUNT OFF
end
消息 245,级别 16,状态 1,过程 Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID,第 13 行
在将 varchar 值 'SELECT T' 转换成数据类型 int 时失败。
@TaskSendID int ,@TaskTypeCode int output
AS
BEGIN
DECLARE @s nvarchar(4000)
SET NOCOUNT ON
SET @s=N'SELECT @TaskTypeCode=TaskTypeCode FROM Task_OtherRequestList WHERE RequestListID
IN (SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID=@TaskSendID'
EXEC sp_executesql @s,N'@TaskTypeCode int out,@TaskSendID int',@TaskTypeCode out,@TaskSendID
IF @TaskTypeCode IS NULL
SET @s=N'SELECT @TaskTypeCode=TaskTypeCode FROM Task_RequestList WHERE RequestListID
IN (SELECT RequestListID FROM [Plan_TaskSend] WHERE TaskSendID=@TaskSendID'
EXEC sp_executesql @s,N'@TaskTypeCode int out,@TaskSendID int',@TaskTypeCode out,@TaskSendID
SET NOCOUNT OFF
end
set QUOTED_IDENTIFIER ON
goALTER PROCEDURE [dbo].[Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID]
@TaskSendID int
AS
BEGIN
DECLARE @RequestListID VARCHAR(8)
DECLARE @TaskTypeCode VARCHAR(8)
SET NOCOUNT ON
SET @RequestListID='SELECT cast(RequestListID as varchar(8)) FROM [Plan_TaskSend] WHERE TaskSendID='+CAST(@TaskSendID AS VARCHAR(8))
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_OtherRequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
IF @TaskTypeCode IS NULL
SET @TaskTypeCode='SELECT TaskTypeCode FROM Task_RequestList WHERE RequestListID='+CAST(@RequestListID AS VARCHAR(8))
RETURN @TaskTypeCode
SET NOCOUNT OFF
end
消息 245,级别 16,状态 1,过程 Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID,第 13 行
在将 varchar 值 'SELECT T' 转换成数据类型 int 时失败。
执行后出错
消息 102,级别 15,状态 1,第 2 行
'@TaskSendID' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'@TaskSendID' 附近有语法错误。(1 行受影响)(1 行受影响)
GODECLARE @return_value int,
@TaskTypeCode intEXEC @return_value = [dbo].[Pr_Plan_TaskSend_GetRequestListIDFromTaskSendID]
@TaskSendID = 159,
@TaskTypeCode = @TaskTypeCode OUTPUTSELECT @TaskTypeCode as N'@TaskTypeCode'SELECT 'Return Value' = @return_valueGO