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

Développement SQL Server Discussion :

Récupérer l'information sur le user qui lance le trigger


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    A mon compte
    Inscrit en
    Décembre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : A mon compte

    Informations forums :
    Inscription : Décembre 2015
    Messages : 53
    Par défaut Récupérer l'information sur le user qui lance le trigger
    Bonsoir à tous,

    J'ai un trigger qui permet de remplir une table. Je voudrais récupérer l'ID ou le USER_NAME de celui qui lance ce trigger, le stocker dans cette même table, afin que le 2eme trigger efface les données de cette meme table, mais seulement les enregistrements rattachés à cet user, pour ne pas effacer les lignes des autres users. (WHERE NAMEUSER (champ table) = USER_NAME)

    J'ai tout testé, SUSER_NAME, SUSER_SNAME, CURRENT_USER, USER_NAME...

    Le renvoi systématique est tout le temps le même, à savoir l'ID 1

    Y a t-il un process qui mappe l'uilisateur à sa connexion (via DSN accès) sur l'ID 1 ?

    Je tourne je vire, je trouve pas.

    Merci pour vos retours

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    USER

    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/ * * * * *

  3. #3
    Membre averti
    Homme Profil pro
    A mon compte
    Inscrit en
    Décembre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : A mon compte

    Informations forums :
    Inscription : Décembre 2015
    Messages : 53
    Par défaut
    Ce me ressort dbo quelque soit l'utilisateur

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Parce que votre utilisateur SQL est dbo….

    Si vous voulez gérer différents utilisateurs, il faut les créer au niveau de la base (et éventuellement les comptes de connexion associés) et se connecter chaque fois avec l'utilisateur approprié.

    Lisez l'article que j'ai écrit à ce sujet : https://blog.developpez.com/sqlpro/p..._et_utilisateu

    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/ * * * * *

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    si c'est la connexion utilisée que vous voulez obtenir, alors vous pouvez utiliser ORIGINAL_LOGIN().

    Cela dit, j'ai l’impression que vous montez une usine à gaz à base de triggers dans tous les sens, là où des vues bien pensées seraient surement plus simples à développer et à maintenir, en plus d'être probablement plus performantes.

  6. #6
    Membre averti
    Homme Profil pro
    A mon compte
    Inscrit en
    Décembre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : A mon compte

    Informations forums :
    Inscription : Décembre 2015
    Messages : 53
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Bonjour,

    Cela dit, j'ai l’impression que vous montez une usine à gaz à base de triggers dans tous les sens, là où des vues bien pensées seraient surement plus simples à développer et à maintenir, en plus d'être probablement plus performantes.
    Bonjour,

    Le souci étant que j'utilise la BDD depuis Access. La table concernée contient beaucoup de lignes, et utiliser une requête dans Access pour filtrer une vue (j'ai testé) prend beaucoup plus de temps que de charger une table avec un trigger et de la lire directement sous Access.
    L'autre souci est que les données affichées proviennent de 3 tables avec des colonnes communes. Il n'y a à mon sens, que un INSERT INTO qui permette ceci.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2019, 15h39
  2. Réponses: 2
    Dernier message: 18/03/2008, 13h58
  3. Récupérer des Informations sur un PC via un Réseau ?
    Par MaTHieU_ dans le forum Administration
    Réponses: 6
    Dernier message: 22/11/2005, 12h39
  4. Réponses: 14
    Dernier message: 14/03/2005, 09h16
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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