Comment inviter une requête SQL à l'utilisateur d'entrer des informations
J'ai une question que j'ai écrit dans SQL server qui seront exécutées principalement par des personnes qui ne savent pas de SQL, et il y a deux domaines qui ont une autre chaîne ou de la date d'entrée de chaque exécution de la requête. En ce moment, j'ai juste écrit afin que vous entrez les informations en haut de la requête et de ses stockées en tant que variable. Est-il possible que je peux obtenir SQL pour inviter la personne à l'exécution de la requête pour entrer les données? ci-dessous est un extrait du code qui a de quoi je parle.
declare
/*ENTER ACCOUNTING MONTH*/
@amon VARCHAR(2) = '05',
/*ENTER INVOICE DATE IN MM/DD/YYYY FORMAT*/
@invdate DATE = '05/31/2015'
~~
rest of the code
~~
declare @sumA numeric(25, 5), @sumB numeric(25, 5), @ratio numeric(25, 5)
select @sumA = sum(amnt) from accnt where accno = '1152'
select @sumB = sum(amnt) from acc1152
update acc1152 set amnt = amnt * (@sumA/@sumB),
amon = @amon,
invdate = @invdate,
ven = '1152',
code = '1152',
invno = 'INVENTORY'
ainsi est-il possible pour SQL pour demander à l'utilisateur d'entrer la valeur de @amon et @invdate? d'autres que moi, juste la ligne de commentaire de leur dire de le faire?
ce serait drôle, mais il serait évident qui l'a fait, donc je ne suis pas inquiet à propos de ce qui se passe. et quel genre d'application? le seul réel des connaissances de codage que j'ai est SQL de base.
Non, il n'est pas possible. SQL Server n'est PAS un front-end. C'est un serveur de base de données. Ce n'est pas l'accès. Si vous voulez une invite de commandes, il doit être à partir d'une application.
ok merci à vous. Toutes les suggestions où je devrais commencer autant que ça se passe?
OriginalL'auteur Vbasic4now | 2015-06-25
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous ne pouvez pas faire une demande, vous n'avez pas de développeurs, etc etc, vous avez un moyen de faire une procédure stockée:
Refuser toute activité autorisations pour les utilisateurs à l'exception seulement de l'exécution de cette procédure. Exécuter comme:
Au moins, vous serez sûr qu'aucun utilisateur ne peut parfois corrompu quelque chose... Et si vous n'aurez pas à fournir des valeurs pour les paramètres de la procédure stockée, il vous invite à le faire si vous n'avez pas de valeurs par défaut pour ces paramètres. Il me semble que la meilleure solution pour votre cas.
OriginalL'auteur Giorgi Nakeuri
Pourriez-vous peut-être appeler cette requête à partir d'un autre langage de programmation? SQL n'est pas efficace pour la tâche que vous décrivez. Un langage de haut niveau comme Python/Java/C# vous permettra de facilement invite de saisie de l'utilisateur et serait sans doute plus adapté à l'emploi.
Si vous voulez vraiment faire quelque chose en SQL et ils utilisent SSMS ensuite, vous pouvez utiliser SSMS modèles et permettre aux utilisateurs d'entrer les valeurs de paramètre à l'aide de CTRL+MAJ+M, bien que je ne conseille pas cette approche.
Tous vous avez besoin est une langue qui a des pilotes pour SQL Server, qui sera la plupart des langues modernes. AnySQL Maestro est simplement un outil pour la connexion à et l'interrogation de bases de données, donc n'a pas d'impact sur la langue que vous choisissez.
OriginalL'auteur Alex
Comme d'autres l'ont mentionné, SQL Server et de Gestion de Studio ne sont pas conçus comme des outils de l'utilisateur final.
Depuis que vous êtes à l'aide de SQL SERVER, vous disposez d'un outil (peut-être pas installé et configuré) appelé SQL Server Reporting Services (SSRS).
Il ne avez la possibilité de demander aux utilisateurs de valeurs pour les paramètres.
Votre requête va dans le Concepteur de Rapports, la @ variables deviennent des filtres de rapport (assez automatiquement) et vous aurez à faire quelques belle mise en page.
De PAPIER et d'IMPRESSION ne sont pas impliqués. En fait, SSRS est spécialisée dans un rapport de forage dans une autre, en passant les valeurs de départ pour la prochaine requête.
OriginalL'auteur Stan
Une autre solution est d'utiliser PowerShell pour demander à l'utilisateur pour l'entrée et ensuite transmettre ces données à votre script comme il est géré par PowerShell. Sur l'ordinateur de l'utilisateur, vous devrez peut-être installer PowerShell extensions pour exécuter le TSQL. Comme l'import-module sqlps. PowerShell est pas pour les faibles de cœur, mais il est libre et donc vous pouvez l'essayer sans un grand engagement.
Stackoverflow Sujet
OriginalL'auteur Jon Bushey