SQL “si il existe...” requête dynamique

Supposons que j'ai une requête stockée dans une variable, comme ceci (c'est en fait rempli dynamiquement et plus complexe, mais c'est pour les besoins de la démonstration):

DECLARE @Query VARCHAR(1000) = 'SELECT * FROM dbo.MyTable'

Est-il un moyen de vérifier si la requête ne renvoie aucun résultat? Quelque chose comme cela, mais cela ne fonctionne pas:

IF EXISTS (@Query)
BEGIN
    -- do something
END

La seule façon que je peux penser à faire c'est de mettre les résultats dans une table temporaire, et ensuite de la requête, mais qui n'est pas idéal car les colonnes dans la requête dynamique peut varier et je n'ai vraiment pas besoin de la table temp pour tout autre raison que de vérifier si certaines lignes serait renvoyé. Est-il un meilleur moyen?

Ensuite, essayez avec EXISTE une sous-requête....Faire quelque chose qui existe(select 1 from dbo.Matable). En fin de compte vous êtes à la vérification de la table pour faire quelque chose d'autre lorsque les enregistrements dans cette table.
La sous-requête est dynamique, stockée dans une variable, comme indiqué ci-dessus. EXISTS ne fonctionne pas quand il est dynamique.

OriginalL'auteur mayabelle | 2014-12-30