NEWID()
сама по себе си е функция. при извикване връща GUID стойност.
Не е нужно да го поставяте в отделен прозорец и след това да копирате стойността за поставяне от там. Просто поставете тази функция там, където искате стойността на GUID и когато заявката се изпълни по време на изпълнение, ще се използва стойността, върната от тази функция.
Например в оператор Insert
INSERT INTO TableName (Col1 , Col2, Col3)
VALUES (1 , 'Value 1', NEWID())
Ако искате col3 да има стойност GUID, не е необходимо да копирате и поставите стойността, върната от функцията NEWID(), но използвате самата функция. По време на изпълнение guid стойност ще бъде пренастроена и вмъкната в col3.
По същия начин, ако актуализирате
UPDATE TableName
SET Col3 = NEWID()
WHERE <Some Condition>
Отново не е нужно да копирате и поставяте стойността, върната от функцията NEWID(), просто използвайте самата функция.
Друг вариант би бил да предположим, че сте някъде в кода си, където не можете да извикате NEWID()
функция . Вие бихте декларирали променлива от тип UNIQUEIDENTIFIER, извикайте функцията, съхранявайте нейната стойност в тази променлива и след това използвате тази променлива вътре в кода си, нещо като ...
DECLARE @GUID_Value UNIQUEIDENTIFIER;
SET @GUID_Value = NEWID();
-- Now use this variable anywhere in your code.
Добавяне към клавишна комбинация
По някаква странна причина, ако искате да добавите пряк път към вашия SSMS, за да генерирате GUID за вас. Ще трябва да направите две неща.
- Създайте съхранена процедура, която връща GUID стойност.
- Добавете клавишна комбинация за извикване на тази съхранена процедура.
Определение на процеса
CREATE PROCEDURE get_Guid
AS
SELECT NEWID();
Добавете го към преки пътища
От вашия SSMS отидете на Инструменти --> Опции --> Среда --> Клавиатура
добавете името на съхранената процедура към прекия път, който искате. Щракнете върху OK. Затворете SSMS и го отворете отново и сте готови.
Както е показано на горната снимка, сега, ако натиснете CTRL + 0 той ще генерира GUID стойност за вас в същия прозорец на заявка.