2010-02-12 6 views
2

Je veux créer du code TSQL réutilisable, quelque peu dynamique, qui peut être appelé dans de nombreux autres processus stockés, mais j'ai du mal à l'implémenter avec SQL Server.Procédures stockées SQL Server réutilisables; nidification; variables globales

L'environnement est ce nombre de bases de données de systèmes sources distribués qui auront leur propre procédure stockée wrapper qui appellera quelques uns de ces processus stockés modulaires à partir d'un DB ETLManagement commun. Le wrapper sproc appellera quelques-uns de ces springs commom/re-utilisables (pour effectuer des opérations sur certaines tables de contrôle définies dynamiquement), puis un INSERT INTO statment (possédé et défini par le système source), puis quelques commom/re - les sprocs utilisables.

Un roadblock principal est que je n'arrive pas à déclarer des variables dans ce sproc imbriqué, comment puis-je déclarer des variables globales que tous les sprocs du système source peuvent lire? Est-ce que je vais même dans ce sens avec le sproc commun, ou y a-t-il un meilleur moyen?

(Pardonne ma naïveté de la programmation TSQL, je l'ai fait avec d'autres outils ETL jusqu'à présent.)

Répondre

2

je mettrais le concept de variables globales dans une table de consultation. C'est le seul équivalent que vous avez.

En outre, vous pouvez considérer plus User Defined Functions comme ils peuvent être utilisés dans beaucoup plus d'endroits qu'un SPROC. Cet article est une bonne référence aux avantages/inconvénients:

http://www.informit.com/articles/article.aspx?p=31724

Franchement, si vous êtes intéressé à avoir de véritables variables globales que vous pourriez vouloir envisager de passer à SQL Server Integration Services de packages. Il peut être plus votre tasse de thé compte tenu de vos besoins.

http://msdn.microsoft.com/en-us/library/ms141026.aspx

Questions connexes