NEWID()
i sig selv er en funktion. når det kaldes returnerer en GUID-værdi.
Du behøver ikke at sætte det i et separat vindue og derefter kopiere indsæt værdi derfra. Du skal blot placere den funktion der, hvor du vil have GUID-værdien, og når forespørgslen udføres på kørselstidspunktet, vil værdien, der returneres af denne funktion, blive brugt.
For eksempel i en Insert-sætning
INSERT INTO TableName (Col1 , Col2, Col3)
VALUES (1 , 'Value 1', NEWID())
Hvis du ønsker, at col3 skal have en GUID-værdi, behøver du ikke kopiere og indsætte værdien, der returneres fra NEWID()-funktionen, men du bruger selve funktionen. Ved kørsel vil en vejledende værdi blive genindstillet og indsat i col3.
På samme måde hvis du opdaterede
UPDATE TableName
SET Col3 = NEWID()
WHERE <Some Condition>
Igen behøver du ikke kopiere og indsætte værdien, der returneres fra NEWID()-funktionen, bare brug selve funktionen.
En anden mulighed ville være, at du er et sted inde i din kode, hvor du ikke kan kalde NEWID()
funktion. Du ville erklære en variabel af typen UNIQUEIDENTIFIER kalde funktionen gemme dens værdi til den variabel og derefter bruge den variabel inde i din kode noget som ...
DECLARE @GUID_Value UNIQUEIDENTIFIER;
SET @GUID_Value = NEWID();
-- Now use this variable anywhere in your code.
Tilføjelse til tastaturgenvej
Af en eller anden mærkelig grund, hvis du vil tilføje en genvej til din SSMS for at generere GUID'er til dig. Du skal have to ting.
- Opret en lagret procedure, som returnerer GUID-værdi .
- Tilføj en tastgenvej for at kalde den lagrede procedure.
Proc Definition
CREATE PROCEDURE get_Guid
AS
SELECT NEWID();
Føj det til genveje
Fra din SSMS gå til Værktøjer --> Indstillinger --> Miljø --> Tastatur
tilføje den lagrede procedures navn til den genvej, du vil. Klik på OK. Luk SSMS og åbn den igen, og du er godt i gang.
Som vist i ovenstående snipshot, hvis du nu trykker på CTRL + 0 det vil generere en GUID-værdi for dig i det samme forespørgselsvindue.