Nous avons un environnement de contrôle des changements dans lequel les développeurs donnent des scripts pour modifier les personnes de contrôle pour courir. Nous avons dev, qa et environnements de production.
Je veux conditionnaliser quelques segments pour faire des choses différentes selon lesquelles la base de données de la commande de contrôle de changement exécute mon script. P>
If @dbname='dev' then begin --do some dev stuff end If @dbname='QA' then begin --do some qa stuff end If @dbname='Prod' then begin --do some production stuff end
3 Réponses :
Sélectionnez db_name () code> devrait faire le tour. P>
Utilisez la fonction système db_name ()
C'était parfaitement synchronisé de répondre, n'est-ce pas? :-)
Je pense que c'est juste comme:
J'ai dû choisir une réponse et "ho" répondit en premier. Merci tout le monde si /
C'est bon (si un petit suspect) au niveau de la DBA, mais si vous êtes dans le groupe de développeurs, c'est pur maléfique - ne le faites tout simplement pas.
Les réponses ci-dessous vous donnent le "comment", mais je suis d'accord avec Joel. Cela demande des problèmes sur la route.
C'est pour la sécurité surtout. Les DB sont de retour rafraîchis de la production. Devs ne sont pas autorisés dans la production. J'ajoute de manière programtielle les utilisateurs de Dev aux environs Qa et Dev Environs et les personnes QA à A QA Environ dans le cadre des scripts et ne touchent pas la sécurité dans l'environnement de production.