USER_ID (Transact-SQL)
Retourne le numéro d'identification d'un utilisateur de la base de données.
Important
Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez DATABASE_PRINCIPAL_ID à la place.
Syntaxe
USER_ID ( [ 'user' ] )
Arguments
- user
Nom de l'utilisateur. user est de type nchar. Si une valeur char est spécifiée, elle est implicitement convertie en nchar. Les parenthèses sont obligatoires.
Types de retour
int
Notes
Si user est omis, c'est l'utilisateur actuel qui est pris en compte. S'il contient le mot NULL, la valeur NULL est retournée. Lorsque USER_ID est appelé après EXECUTE AS, il retourne l'identificateur du contexte ayant fait l'objet d'un emprunt d'identité.
Lorsqu'un principal Windows qui n'est pas mappé à un utilisateur spécifique accède à une base de données parce qu'il appartient à un groupe, USER_ID retourne 0 (l'identificateur de public). Si un tel principal crée un objet sans spécifier de schéma, SQL Server créera un utilisateur implicite et un schéma mappés au principal Windows. L'utilisateur ainsi créé ne peut pas être utilisé pour une connexion à la base de données. Les appels à USER_ID effectués par un principal Windows mappé à un utilisateur implicite retourneront l'identificateur de cet utilisateur implicite.
USER_ID peut être utilisé dans une liste de sélection, dans une clause WHERE, et partout où une expression est autorisée. Pour plus d'informations, consultez Expressions (Transact-SQL).
Exemples
Dans l'exemple suivant, la valeur retournée est le numéro d'identification de l'utilisateur Harold de AdventureWorks2008R2.
USE AdventureWorks2008R2;
SELECT USER_ID('Harold');
GO