De nombreux éditeurs de code ont un élément de menu intégré ou une fonction de clavier pour obtenir un UUID, par exemple lorsque j'appuie sur CTRL + SHIFT + G dans Delphi, il insère un GUID à la position actuelle dans le code source.
Je sais que je peux utiliser SELECT NEWID()
pour générer un UUID, mais je dois aller au résultat de la requête, copier l'UUID généré dans mon presse-papiers (en supprimant tout ce qui s'y trouvait auparavant), puis revenir au code et remplacer la requête qui est une façon horrible de traiter cela.
Existe-t-il une fonction (peut-être à l'aide d'extraits de code IntelliSense?) Pour le faire dans SQL Server Management Studio que je n'ai pas encore trouvée?
Quelques informations sur les raisons pour lesquelles j'ai besoin de cette fonction, j'écris souvent des scripts SQL comme ceci:
INSERT INTO table (table_id, value)
VALUES ('112C8DD8-346B-426E-B06C-75BBA97DCD63', 'ABC');
Je ne peux pas utiliser simplement appeler NEWID()
, car plus tard (dans un autre fichier) je veux faire référence à la ligne spécifique en utilisant:
WHERE table_id = '112C8DD8-346B-426E-B06C-75BBA97DCD63'
Comment puis-je insérer un UUID dans l'éditeur de code?
NEWID()
elle-même est une fonction. lorsqu'il est appelé, renvoie une valeur GUID.
Vous n'avez pas besoin de le placer dans une fenêtre séparée, puis de copier la valeur de collage à partir de là. Placez simplement cette fonction là où vous voulez la valeur GUID et lorsque la requête est exécutée au moment de l'exécution, la valeur retournée par cette fonction sera utilisée.
Par exemple, dans une instruction Insert
INSERT INTO TableName (Col1 , Col2, Col3)
VALUES (1 , 'Value 1', NEWID())
Si vous voulez que col3 ait une valeur GUID, vous n'avez pas besoin de copier coller la valeur renvoyée par la fonction NEWID () mais vous utilisez la fonction elle-même. Au moment de l'exécution, une valeur guid sera réajustée et insérée en col3.
De même, si vous mettiez à jour
UPDATE TableName
SET Col3 = NEWID()
WHERE <Some Condition>
Encore une fois, vous n'avez pas à copier-coller la valeur renvoyée par la fonction NEWID (), utilisez simplement la fonction elle-même.
Une autre option serait de supposer que vous êtes quelque part dans votre code où vous ne pouvez pas appeler la fonction NEWID()
. Vous déclareriez une variable de type UNIQUEIDENTIFIER appeler la fonction stocker sa valeur dans cette variable et ensuite utiliser cette variable dans votre code quelque chose comme ...
DECLARE @GUID_Value UNIQUEIDENTIFIER;
SET @GUID_Value = NEWID();
-- Now use this variable anywhere in your code.
Pour une raison étrange, si vous souhaitez ajouter un raccourci à votre SSMS pour générer des GUID pour vous. Vous auriez besoin de deux choses.
CREATE PROCEDURE get_Guid
AS
SELECT NEWID();
Depuis votre goto SSMS Outils -> Options -> Environnement -> Clavier
ajoutez le nom de la procédure stockée au raccourci souhaité. Cliquez sur OK. Fermez SSMS et rouvrez-le à nouveau et vous êtes prêt à partir.
Comme le montre l'aperçu ci-dessus, maintenant, si vous appuyez sur CTRL + il va générer une valeur GUID pour vous dans la même fenêtre de requête.
Si l'extension SQL Prompt est installée, vous pouvez créer un nouvel extrait comme ceci ...
Extrait:guid
Description:new GUID
Code:
'$GUID$'
Tapez maintenant guid
dans votre éditeur de texte et vous obtiendrez un nouveau GUID entouré de '
s.