如何解决如何在SQL存储过程中编写条件?
我有这个存储过程:
IF OBJECT_ID('[dbo].[GetSessionInfo]') IS NOT NULL
DROP PROCEDURE [dbo].[GetSessionInfo]
GO
CREATE PROCEDURE [dbo].[GetSessionInfo](
@SessionID int)
WITH ENCRYPTION
AS
BEGIN
SET NOCOUNT ON;
SELECT [cfgGroup].[Name] as GroupName,[cfgSession].[Name],[cfgSession].[GroupId],[cfgSession].[IsDisabled],[cfgSession].[IsTestSession],[cfgSession].[NextExecutionTime],[cfgSession].[SType],[cfgSession].[DaysToKeep],[cfgSchedule].[ID],[cfgSchedule].[SessionId],[cfgSchedule].[MinuteFreq],[cfgSchedule].[HourFreq],[cfgSchedule].[Daily],[cfgSchedule].[WeekFreq],[cfgSchedule].[StartDate],[cfgSchedule].[EndDate],[cfgSchedule].[NoOrderDays],[cfgSchedule].[OrderDays],[cfgData].[ID],[cfgData].[SessionId],[cfgData].[StationExclude],[cfgData].[StationFilter],[cfgData].[ConsoleExclude],[cfgData].[ConsoleFilter],[cfgData].[MedClassesExclude],[cfgData].[MedClassesFilter],[cfgData].[PickAreasExclude],[cfgData].[PickAreasFilter],[cfgData].[DeviceType]
FROM [cfgGroup],[cfgSession],[cfgSchedule],[cfgData]
WHERE [cfgGroup].[ID] = [cfgSession].[GroupId]
AND
[cfgSession].[ID] = @SessionID
AND
[cfgSchedule].[SessionId] = [cfgSession].[ID]
AND
[cfgData].[SessionId] = [cfgSchedule].[SessionId]
END
GO
我需要根据[cfgSession].[SType]
[cfgSession].[SType]
只能是Send
或Receive
如果[cfgSession].[SType]
是Send
,那么我需要它返回上面SELECT
语句中当前的内容。
如果[cfgSession].[SType]
是Receive
,那么我需要它返回上面SELECT
减去[cfgData]
字段中的当前值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。