2 votes

Les programmes stockés du serveur SQL incluent une déclaration de fichier

Je ne pense pas qu'il soit possible de faire ce que je voudrais mais je demande quand même.

J'ai découvert que j'incluais les mêmes variables en haut de chaque procédure stockée que je fais. Ces variables sont utilisées pour la journalisation et la gestion des erreurs. Elles ne changent pas d'une procédure stockée à l'autre, leur signification est fixe, mais leur utilisation principale est d'aider à la lisibilité et d'avoir un style cohérent.

-- Declare code that resolve to possible Error
DECLARE @CONFLICT_CODE AS INT 
SET @CONFLICT_CODE= -99

-- Check for Conflict
IF Found > 0
BEGIN
    SELECT  @Error = @CONFLICT_CODE
END

Je serais ravi de les définir dans un fichier que je pourrais inclure dans la procédure stockée.

Je développe sur SQL Server 2008 et je déploie vers SQL Server 2005.

3voto

gbn Points 197263

Vous ne pouvez pas faire cela en TSQL. D'une autre manière, il n'y a pas de fonctionnalité d'inclusion ou de macro.

Cependant, vous pourriez créer un UDF ainsi :

CREATE FUNCTION dbo.CONFLICT_CODE()
RETURNS int
AS
BEGIN
    RETURN -99
END

Cela remplacerait ceci dans chaque proc

-- Declare code that resolve to possible Error
DECLARE @CONFLICT_CODE AS INT 
SET @CONFLICT_CODE= -99

et vous utiliseriez ceci

SELECT  @Error = dbo.CONFLICT_CODE()

0voto

bobs Points 12893

Non, il n'y a pas de possibilité d'inclusion, mais vous pouvez peut-être minimiser l'effort pour ajouter votre code standard.

Vous pouvez ajouter votre code à un fichier, ouvrir ce fichier lorsque vous avez besoin du code standard, puis copier et coller le code.

Vous pouvez également créer un fichier modèle. Dans SQL Server Management Studio, vous pouvez créer des modèles et charger le modèle lorsque vous voulez créer une nouvelle procédure stockée. Lorsque vous chargez un modèle, votre code standard apparaît dans l'outil de requête. Il devient le point de départ du codage de votre nouvelle procédure stockée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X