Comment personnaliser les paramètres ?

Attention, les exemples suivants utilisent la syntaxe SQL Server. Si nécessaire, vous devez les modifier en fonction de votre système de base de données.

Vous pouvez déclarer et utiliser des paramètres SQL dans votre recherche :

DECLARE @MON_PARAMETRE AS VARCHAR(100)
SET @MON_PARAMETRE = '[Nom du Parametre]'

L’utilisateur devra alors renseigner le paramètre lorsqu’il exécutera la recherche.

Vous pouvez ainsi remplacer les paramètres qui ont été générés automatiquement.

Vous pouvez par exemple remplacer le code SQL suivant :

UPPER(PTARGET.VACLE1) = UPPER('[PARAM]')

Par celui-ci :

UPPER(PTARGET.VACLE1) = UPPER(@MON_PARAMETRE)

Requêtes personnalisées :

Tous les documents de ma corbeille :

SELECT PDOCENT.CODDOC
FROM PDOCENT
WHERE PDOCENT.CODUSR = '%OBJCOD%'
  AND PDOCENT.FLGSUP = '0'

Tous les documents de ma corbeille de moins de 10 jours:

SELECT PDOCENT.CODDOC
FROM PDOCENT
WHERE PDOCENT.CODUSR = '%OBJCOD%'
  AND PDOCENT.FLGSUP = '0'
  AND PDOCENT.DATCRE >= Convert(CHAR(8), GetDate() - 10, 112)

Tous les partages de ma corbeille :

SELECT POBJDIF.*
FROM POBJDIF
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC ='W'

Tous les documents partage dans ma corbeille :

SELECT POBJDIF.*
FROM POBJDIF
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC ='W'
  AND POBJDIF.OBJKND='D'

Tous les partages de classeurs et dossier dans ma corbeille:

SELECT POBJDIF.*
FROM POBJDIF
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC ='W'
  AND POBJDIF.OBJKND IN ('B', 'F')

Tous les documents (partage compris) de ma corbeille créés depuis 10 jours :
Requête 1 :

SELECT PDOCENT.CODDOC
FROM PDOCENT
WHERE PDOCENT.CODUSR = '%OBJCOD%'
  AND PDOCENT.FLGSUP = '0'
  AND PDOCENT.DATCRE >= Convert(CHAR(8), GetDate() - 10, 112)

Requête 2:

SELECT POBJDIF.*
FROM POBJDIF
INNER JOIN PSUJLST ON PSUJLST.CODSUJ = POBJDIF.OBJCOD
                  AND PSUJLST.DATCRE >= Convert(CHAR(8), GetDate() - 10, 112)
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC='W'
  AND POBJDIF.OBJKND='B'
UNION
SELECT POBJDIF.*
FROM POBJDIF
INNER JOIN PDOSLST ON PDOSLST.CODDOS = POBJDIF.OBJCOD
                  AND PDOSLST.DATCRE >= Convert(CHAR(8), GetDate() - 10, 112)
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC='W'
  AND POBJDIF.OBJKND='F'
UNION
SELECT POBJDIF.*
FROM POBJDIF
INNER JOIN PDOCLST ON PDOCLST.CODDOC = POBJDIF.OBJCOD
                  AND PDOCLST.FLGSUP = '0'
                  AND PDOCLST.DATCRE >= Convert(CHAR(8), GetDate() - 10, 112)
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC='W'
  AND POBJDIF.OBJKND='D'
UNION
SELECT POBJDIF.*
FROM POBJDIF
INNER JOIN PDOCENT ON PDOCENT.CODDOC = POBJDIF.OBJCOD
                  AND PDOCENT.FLGSUP = '0'
                  AND PDOCENT.DATCRE >= Convert(CHAR(8), GetDate() - 10, 112)
WHERE POBJDIF.SHRUSR='%OBJCOD%'
  AND POBJDIF.SHRLOC='W'
  AND POBJDIF.OBJKND='D'

Tous les documents (indexés ou non) de type X dont l’état est différent de Y

SELECT PDOCENT.CODDOC
FROM PDOCENT
WHERE PDOCENT.CODNAT = 'X'
  AND PDOCENT.ETADOC <> 'Y'
UNION
SELECT PDOCLST.CODDOC
FROM PDOCLST
WHERE PDOCLST.CODNAT = 'X'
  AND PDOCLST.ETADOC <> 'Y'

Tous les dossiers de type A dont le statut est égal = X

SELECT PSUJLST.CODSUJ
FROM PSUJLST
WHERE PSUJLST.TYPSUJ = 'A'
AND PSUJLST.ETASUJ = 'X'

Tous les dossiers contenant des documents ou partages dans ma corbeille :

SELECT MAINSHR.*
FROM POBJDIF MAINSHR
WHERE MAINSHR.SHRUSR='%OBJCOD%'
  AND MAINSHR.SHRLOC='W'  
  AND MAINSHR.OBJKND IN ('B')
  AND ( (SELECT COUNT(PDOCLST.CODDOC)
         FROM PDOCLST
         WHERE PDOCLST.CODDOS = MAINSHR.OBJCOD
           AND PDOCLST.DBLOC = 'B'
           AND PDOCLST.FLGSUP = '0')>0
       OR
        (SELECT COUNT(*)
         FROM POBJDIF
         WHERE POBJDIF.SHRCOD = MAINSHR.OBJCOD
           AND POBJDIF.SHRLOC = 'B')>0
      )

Tous les éléments (dossiers, classeurs, documents indexés ou non) que j’ai consulté depuis 2 jours :
Requête 1 :

SELECT DISTINCT(PLOGBIN.CODSUJ)
FROM PLOGBIN
WHERE PLOGBIN.CODACT = 'CONSULTED'
  AND PLOGBIN.CODUSR = '%OBJCOD%'
  AND PLOGBIN.DATCRE >= Convert(CHAR(8), GetDate() - 2, 112)

Requête 2 :

SELECT DISTINCT(PLOGFLD.CODDOS)
FROM PLOGFLD
WHERE PLOGFLD.CODACT = 'CONSULTED'
  AND PLOGFLD.CODUSR = '%OBJCOD%'
  AND PLOGFLD.DATCRE >= Convert(CHAR(8), GetDate() - 2, 112)

Requête 3 :

SELECT DISTINCT(PLOGIDX.CODDOC)
FROM PLOGIDX
WHERE PLOGIDX.CODACT = 'CONSULTED'
  AND PLOGIDX.CODUSR = '%OBJCOD%'
  AND PLOGIDX.DATCRE >= Convert(CHAR(8), GetDate() - 2, 112)

Tous les documents (indexés ou non) ayant un post crée depuis moins de 10 jours par un autre personne :

SELECT DISTINCT(POBJCOM.OBJCOD) AS CODDOC
FROM POBJCOM
WHERE POBJCOM.CODUSR <> '%OBJCOD%'
  AND POBJCOM.OBJKND = 'D'
  AND POBJCOM.COMTYP = 'C'
  AND LEFT(POBJCOM.DATTIM,8) >= Convert(CHAR(8), GetDate() - 2, 112)

Tous les documents, classeur, dossier non consultés de ma corbeille ou consulté depuis plus de 10 jours :
Requête 1:

SELECT PDOCENT.CODDOC
FROM PDOCENT
WHERE PDOCENT.CODDOC IN (SELECT CODDOC
                         FROM (SELECT PDOCENT.CODDOC, (SELECT MAX(DATCRE)
                                                       FROM PLOGIDX
                                                       WHERE CODACT = 'CONSULTED'
                                                       AND CODUSR = '%OBJCOD%'
                                                       AND PLOGIDX.CODDOC = PDOCENT.CODDOC) AS DATLOG
                               FROM PDOCENT
                               WHERE PDOCENT.CODUSR = '%OBJCOD%'
                                 AND PDOCENT.FLGSUP = '0'
                               ) SUB
                         WHERE SUB.DATLOG IS NULL
                           OR SUB.DATLOG < Convert(CHAR(8), GetDate() - 10, 112)
                         )

Requête 2:

SELECT *
FROM PSUJLST
WHERE CODSUJ IN (SELECT CODSUJ
                 FROM (SELECT OBJCOD AS CODSUJ, (SELECT MAX(DATCRE)
                                                 FROM PLOGBIN
                                                 WHERE CODACT = 'CONSULTED'
                                                 AND CODUSR = '%OBJCOD%'
                                                 AND CODSUJ = POBJDIF.OBJCOD) AS DATLOG
                       FROM POBJDIF
                       WHERE POBJDIF.SHRUSR = '%OBJCOD%'
                         AND POBJDIF.SHRLOC = 'W'
                         AND POBJDIF.OBJKND IN ('B')
                       ) SUB
                 WHERE SUB.DATLOG IS NULL
                   OR SUB.DATLOG < Convert(CHAR(8), GetDate() - 10, 112)
                 )

Requête 3:

SELECT *
FROM PDOSLST
WHERE CODDOS IN (SELECT CODDOS
                 FROM (SELECT OBJCOD AS CODDOS, (SELECT MAX(DATCRE)
                                                 FROM PLOGFLD
                                                 WHERE CODACT = 'CONSULTED'
                                                   AND CODUSR = '%OBJCOD%'
                                                   AND CODDOS = POBJDIF.OBJCOD) AS DATLOG
                       FROM POBJDIF
                       WHERE POBJDIF.SHRUSR = '%OBJCOD%'
                         AND POBJDIF.SHRLOC = 'W'
                         AND POBJDIF.OBJKND IN ('F')
                       ) SUB
                 WHERE SUB.DATLOG IS NULL
                   OR SUB.DATLOG < Convert(CHAR(8), GetDate() - 10, 112)
                 )

Tous les documents de couleur rouge d’un dossier

SELECT CODDOC 
FROM PDOCLST, PDOSLST
WHERE PDOCLST.CODDOS = PDOSLST.CODDOS
AND PDOSLST.CODSUJ = '%OBJCOD%'
AND PDOCLST.DBLOC = 'F'
AND PDOCLST.FLGSUP = '0'
AND PDOCLST.TXTCLR = 'FF0000'
UNION
SELECT CODDOC 
FROM PDOCLST
WHERE PDOCLST.CODDOS = '%OBJCOD%'
AND PDOCLST.DBLOC = 'B'
AND PDOCLST.FLGSUP = '0'
AND PDOCLST.TXTCLR = 'FF0000'

Tous les classeurs de couleur rouge d’un dossier

SELECT CODDOS 
FROM PDOSLST
WHERE PDOSLST.CODSUJ = '%OBJCOD%'
AND PDOSLST.TXTCLR = 'FF0000'