NEWID()
i sig är en funktion. när anropas returnerar ett GUID-värde.
Du behöver inte lägga det i ett separat fönster och sedan kopiera klistra in värde därifrån. Sätt helt enkelt den funktionen där du vill ha GUID-värdet och när frågan exekveras vid körning kommer värdet som returneras av den här funktionen att användas.
Till exempel i en Insert-sats
INSERT INTO TableName (Col1 , Col2, Col3)
VALUES (1 , 'Value 1', NEWID())
Om du vill att col3 ska ha ett GUID-värde behöver du inte kopiera och klistra in värdet som returneras från NEWID()-funktionen utan du använder själva funktionen. Vid körning kommer ett guidningsvärde att återställas och infogas i col3.
På samma sätt om du skulle uppdatera
UPDATE TableName
SET Col3 = NEWID()
WHERE <Some Condition>
Återigen behöver du inte kopiera och klistra in värdet som returneras från NEWID()-funktionen, bara använd själva funktionen.
Ett annat alternativ skulle vara om du är någonstans i din kod där du inte kan anropa NEWID()
funktion. Du skulle deklarera en variabel av typen UNIQUEIDENTIFIER anropa funktionen lagra dess värde till den variabeln och sedan använda den variabeln inuti din kod något som ...
DECLARE @GUID_Value UNIQUEIDENTIFIER;
SET @GUID_Value = NEWID();
-- Now use this variable anywhere in your code.
Lägger till i tangentbordsgenväg
Av någon konstig anledning om du vill lägga till en genväg till ditt SSMS för att generera GUID för dig. Du skulle behöva två saker.
- Skapa en lagrad procedur som returnerar GUID-värdet .
- Lägg till en kortkommando för att anropa den lagrade proceduren.
Proc Definition
CREATE PROCEDURE get_Guid
AS
SELECT NEWID();
Lägg till det i genvägar
Från ditt SSMS går du till Verktyg --> Alternativ --> Miljö --> Tangentbord
lägg till den lagrade procedurens namn till genvägen du vill använda. Klicka på OK. Stäng SSMS och öppna det igen och du är klar.
Som visas i klippbilden ovan, om du nu trycker på CTRL + 0 det kommer att generera ett GUID-värde för dig i samma frågefönster.