IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Gestion des extended properties


Sujet :

Administration SQL Server

  1. #1
    Membre habitué
    Avatar de Oncle_Pete
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 175
    Points
    175
    Par défaut Gestion des extended properties
    Bonjour,

    Je souhaiterais savoir s'il est possible d'utiliser des variables dans le code de création des propriétés plutôt que des chaines de caractères.
    Par ex, au lieu d'avoir le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    EXEC sys.sp_addextendedproperty 	@name=N'DebugLevel',		@value=N'0' , 
    					@level0type=N'SCHEMA',		@level0name=N'dbo', 
    					@level1type=N'PROCEDURE',	@level1name=N'MaProcedureStockee'

    avoir plutôt le code du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    EXEC sys.sp_addextendedproperty 	@name=N'DebugLevel', 		@value=N@DebugLevel,
    					@level0type=N'Schema',		@level0name=N'dbo',
    					@level1type=N'Procedure',	@level1name=N@SPName
    Merci beaucoup
    Experience is the best teacher !!

  2. #2
    Membre éprouvé Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 449
    Points : 1 294
    Points
    1 294
    Par défaut
    oui

    mais c'est pas :
    @level1name=N@SPName
    c'est simplement
    @level1name=@SPName

  3. #3
    Membre habitué
    Avatar de Oncle_Pete
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 175
    Points
    175
    Par défaut
    Merci AaâÂäÄàAaâÂäÄàAaâÂäÄ

    J'avais bien sûr essayé de supprimer le N, mais j'obtenais un surlignement rouge avec le message "Must declare the scalar variable" alors que, pourtant, tout est bien déclaré.
    Je me doute donc que leur déclaration est hors de porté de mon code. Celui-ci se trouve à la toute fin après mon SET NOCOUNT OFF GO.
    je pense que c'est ca le pb. Il faut donc juste que je remonte mon script avec ta syntaxe et ca devrait le faire

    Merci encore
    Experience is the best teacher !!

  4. #4
    Membre éprouvé Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 449
    Points : 1 294
    Points
    1 294
    Par défaut
    S'il y a un go c'est donc une nouvelle transaction et la déclaration des variables n'est plus prise en compte.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    NON ! GO n'est pas un démarrage de la transaction. Seul BEGIN TRANSACTION démarre une nouvelle transaction explicite. SQL server étant en AUTOCOMMIT par défaut (transactions implicites).

    GO ne s'adresse pas au SGBDR SQL Serveur mais aux outils client que sont SSMS ou SQLcmd.exe et agit comme séparateur de batch.
    Il doit d'ailleurs être écrit sur une ligne séparée...

    L'outil client (SSMS ou SQLcmd) envoi l'ensemble des lignes de code jusqu'au premier GO rencontré puis attend le retour d'exécution du serveur SQL pour continuer d'envoyer la suite jusqu'au prochaine GO et ainsi de suite. Certains commandes nécessitant une impérative séparation des batch comme la création de vues par exemple.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Gestions des fichiers dat avec properties
    Par xokami35x dans le forum Entrée/Sortie
    Réponses: 19
    Dernier message: 10/09/2011, 16h13
  2. gestion des fichiers properties multiprojet
    Par capitaine.banane dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 22/07/2009, 20h08
  3. Classe générique gestion des properties
    Par papaetoo dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 24/06/2009, 15h30
  4. Gestion des 'property' d'une classe
    Par philnext dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2007, 08h45
  5. gestion des erreurs avec fichier .properties
    Par _momo dans le forum Struts 1
    Réponses: 2
    Dernier message: 20/08/2007, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo