2025-06-25 11:25:55 +02:00

49 lines
5.6 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[sp_getActivitiesLog]
@dateFrom as datetime,
@dateTo as datetime ,
@activityDescription as nvarchar(50),
@callingUser as nvarchar(50),
@callingObject as nvarchar(50)
AS
-- 1 LogDate
if (@dateFrom IS NOT null and @dateTo IS NOT null) and (@activityDescription IS NULL and @callingUser IS NULL and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE LogDate between @dateFrom AND @dateTo ORDER BY LogDate DESC
-- 2 activityDescription
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NOT null and @callingUser IS NULL and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE activityDescription LIKE '%' + @activityDescription + '%'
-- 3 callingUser
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NULL and @callingUser IS NOT null and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE callingUser LIKE '%' + @callingUser + '%'
-- 4 callingObject
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NULL and @callingUser IS NULL and @callingObject IS NOT null)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE callingObject LIKE '%' + @callingObject + '%'
--1 2 LogDate & activityDescription
if (@dateFrom IS NOT null and @dateTo IS NOT null) and (@activityDescription IS NOT null and @callingUser IS NULL and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE (LogDate between @dateFrom AND @dateTo) and activityDescription LIKE '%' + @activityDescription + '%'
--1 3 LogDate & callingUser
if (@dateFrom IS NOT null and @dateTo IS NOT null) and (@activityDescription IS NULL and @callingUser IS NOT null and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE (LogDate between @dateFrom AND @dateTo) and callingUser LIKE '%' + @callingUser + '%'
--1 4 LogDate & callingObject
if (@dateFrom IS NOT null and @dateTo IS NOT null and @activityDescription IS NULL and @callingUser IS NULL and @callingObject IS NOT null)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE (LogDate between @dateFrom AND @dateTo) and callingObject LIKE '%' + @callingObject + '%'
--2 3 activityDescription & callingUser
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NOT null and @callingUser IS NOT null and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE activityDescription LIKE '%' + @activityDescription + '%' and callingUser LIKE '%' + @callingUser + '%'
--2 3 4 activityDescription & callingUser & callingObject
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NOT null and @callingUser IS NOT null and @callingObject IS NOT null)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE activityDescription LIKE '%' + @activityDescription + '%' and callingUser LIKE '%' + @callingUser + '%' and callingObject LIKE '%' + @callingObject + '%'
--2 4 activityDescription & callingObject
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NOT null and @callingUser IS NULL and @callingObject IS NOT null)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE activityDescription LIKE '%' + @activityDescription + '%' and callingObject LIKE '%' + @callingObject + '%'
-- 3 4 callingUser & callingObject
if (@dateFrom IS NULL or @dateTo IS NULL) and (@activityDescription IS NULL and @callingUser IS NOT null and @callingObject IS NOT null)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE callingUser LIKE '%' + @callingUser + '%' and callingObject LIKE '%' + @callingObject + '%'
--1 2 3 LogDate & activityDescription & callingUser
if (@dateFrom IS NOT null and @dateTo IS NOT null) and (@activityDescription IS NOT null and @callingUser IS NOT null and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE (LogDate between @dateFrom AND @dateTo) and activityDescription LIKE '%' + @activityDescription + '%' and callingUser LIKE '%' + @callingUser + '%'
--1 2 3 4 LogDate & activityDescription & callingUser & callingObject
if (@dateFrom IS NOT null and @dateTo IS NOT null) and (@activityDescription IS NOT null and @callingUser IS NOT null and @callingObject IS NOT null)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) WHERE (LogDate between @dateFrom AND @dateTo) and activityDescription LIKE '%' + @activityDescription + '%' and callingUser LIKE '%' + @callingUser + '%' and callingObject LIKE '%' + @callingObject + '%'
--0
if (@dateFrom IS NULL and @dateTo IS NULL and @activityDescription IS NULL and @callingUser IS NULL and @callingObject IS NULL)
SELECT LogId, LogDate, activityDescription, CallingUser, CallingObject FROM tActivities WITH (NOLOCK) ORDER BY LogDate DESC