2010-11-15 3 views
1

J'ai un script SQL avec la ligne suivanteentrées utilisateur au script SQL

déclare @input varchar (20)
Select * from employés où [dept] = @input

Ce que je veux c'est Quand j'exécute le script ci-dessus dans SQL 2005 je veux demander une entrée En ouvrant une boîte de saisie etc., telle que la valeur est acceptée dans la variable '@input' et ainsi l'utilisateur récupère les enregistrements donnant des entrées dynamiques.

+1

SQL est SQL. Le SGBDR n'invite pas l'utilisateur, il effectue des requêtes données écrites en SQL. Vous devez le confondre avec Access, qui est un hybride entre un document, une application graphique et une base de données. – AlexanderMP

+0

juste avec SQL ?! –

+4

+ Sauf si vous apprenez à! Accepter! étant donné les réponses, vous n'en recevrez que peu de bonnes. – AlexanderMP

Répondre

1

Vous ne pouvez pas faire cela. La base de données n'a pas d'interface utilisateur, il n'y a donc aucun moyen de demander une valeur.

Vous devez créer une application qui demande la valeur, interroge la base de données et affiche le résultat.

1

Vous demandez vraiment une caractéristique inexistante, mais il y a quelques solutions de contournement:

  • SSRS vous permet de définir un « rapport » avec des paramètres qui prendront la forme de boîtes d'entrée etc pour vos utilisateurs.
  • Si vous êtes d'accord avec les utilisateurs utilisant SSMS, créez la requête en tant que procédure stockée et faites-leur utiliser l'option d'exécution dans l'arborescence de gauche (cela vous demande des entrées de paramètres).
1

Voici ce que vous voulez
Accepting User Input

Mais il est pour Oracle (!). J'espère que cela fonctionnera pour d'autres dbs aussi

+0

Supprimer cette réponse C'est pour Oracle. Et c'est une mauvaise habitude aussi. – AlexanderMP

+4

'J'espère que cela fonctionnera pour d'autres dbs aussi' - NON. c'est une mauvaise habitude. RDBMS est un SERVEUR. il accepte les connexions, comme une API. Vous donnez la demande, recevez la réponse. Le SERVEUR ne peut pas faire de votre PC (qui peut exécuter un Mac OS, Linux, FreeBSD, Windows ou autre) pour ouvrir une boîte de dialogue de quelque sorte. C'est juste faux. Il manque le point, c'est mélanger les préoccupations. Inacceptable sous n'importe quelle forme. – AlexanderMP

Questions connexes