SSMS
 sql >> Database >  >> Database Tools >> SSMS

Come inserire un NEWID() / GUID / UUID nell'editor di codice?

NEWID() di per sé è una funzione. quando chiamato restituisce un valore GUID.

Non è necessario inserirlo in una finestra separata e quindi copiare incollare il valore da lì. Metti semplicemente quella funzione lì dove vuoi il valore GUID e quando la query viene eseguita in fase di esecuzione verrà utilizzato il valore restituito da questa funzione.

Ad esempio in un'istruzione Insert

INSERT INTO TableName (Col1 , Col2, Col3)
VALUES (1 , 'Value 1', NEWID())  

Se si desidera che col3 abbia un valore GUID non è necessario copiare e incollare il valore restituito dalla funzione NEWID() ma si utilizza la funzione stessa. In fase di esecuzione un valore guid verrà risintonizzato e inserito in col3.

Allo stesso modo se stavi aggiornando

UPDATE TableName 
  SET Col3 = NEWID()
WHERE <Some Condition>

Ancora una volta non è necessario copiare e incollare il valore restituito dalla funzione NEWID(), basta usare la funzione stessa.

Un'altra opzione sarebbe supporre che tu sia da qualche parte all'interno del tuo codice in cui non puoi chiamare il NEWID() funzione . Dichiareresti una variabile di tipo UNIQUEIDENTIFIER chiamare la funzione memorizzare il suo valore in quella variabile e quindi utilizzare quella variabile all'interno del codice qualcosa come ...

DECLARE @GUID_Value UNIQUEIDENTIFIER;
 SET @GUID_Value = NEWID();

-- Now use this variable anywhere in your code.  

Aggiunta alla scorciatoia da tastiera

Per qualche strano motivo se vuoi aggiungere un collegamento al tuo SSMS per generare GUID per te. Avresti bisogno di due cose.

  1. Crea una stored procedure che restituisca il valore GUID .
  2. Aggiungi una scorciatoia da tastiera per chiamare la procedura memorizzata.

Definizione procedura

CREATE PROCEDURE get_Guid
AS 
 SELECT NEWID();

Aggiungilo alle scorciatoie

Dal tuo SSMS vai su Strumenti --> Opzioni --> Ambiente --> Tastiera

aggiungi il nome della stored procedure al collegamento che desideri. Fare clic su OK. Chiudi SSMS e riaprilo di nuovo e sei a posto.

Come mostrato nello snipshot sopra, ora se premi CTRL + 0 genererà un valore GUID per te nella stessa finestra di query.