Bonjour à tous,
Cela fait un petit moment que je cherche et je n'ai pourtant rien trouvé, je m'en remet donc à vous:

Je voudrais faire en sorte de générer mon nom de table de manière automatique. En effet, je dois créer une requete attaquant des tables dont leurs noms changent tout les jour. Il serait sous la forme [instance].[dbo].[table] où [table] serait égal à [(chaine de caractères)+(date du jour)+(chaine de caractères)]

A l'heure actuelle j'ai une requete qui fonctionne tres bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT [JOB_NAME]
      ,[APPLICATION]
      ,[GROUP_NAME]
      ,CONVERT (datetime, [ODATE]) AS DATE
      ,[STATUS]
FROM [aaa].[dbo].[A090625001_AJOB]
WHERE CONVERT (char(6), [ODATE], 12) = (CONVERT (char(6), GETDATE(), 12)-1) 
AND [STATUS] = 'Ended Not OK'
AND [APPLICATION] != 'TEST'
AND [GROUP_NAME] != 'TEST'
J'ai le résultat attendu

J'ai donc remplacé mon [A090625001_AJOB] par 'A'+CONVERT(char(6), GETDATE(), 12)+'001_AJOB'. (Testé, cette synthaxe me donne bien A090625001_AJOB)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT [JOB_NAME]
      ,[APPLICATION]
      ,[GROUP_NAME]
      ,CONVERT (datetime, [ODATE]) AS DATE
      ,[STATUS]
FROM [em630].[dbo].'A'+CONVERT(char(6), GETDATE(), 12)+'001_AJOB'
WHERE CONVERT (char(6), [ODATE], 12) = (CONVERT (char(6), GETDATE(), 12)-1) 
AND [STATUS] = 'Ended Not OK'
AND [APPLICATION] != 'TEST'
AND [GROUP_NAME] != 'TEST'
Je récupère l'erreur suivante:Msg 102, Level 15, State 1, Line 6. Incorrect syntax near 'A'.

Quelqu'un pourrait-il m'aider?

De plus, je dois faire la meme requete sur la table en j-1 (A090624001_AJOB).
Problème, lorsque j'execute une requete simple du type

Code : Sélectionner tout - Visualiser dans une fenêtre à part
select 'A'+(CONVERT(char(6), GETDATE(), 12)-1)+'001_AJOB' AS test from [aaa].[dbo].[A090625001_AJOB]
j'ai l'erreur suivante:Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value 'A' to data type int.

Par avance, merci
Chris