Ответ 1
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.
- Добавьте ключевой ярлык для вызова хранимой процедуры.
Определение Proc
CREATE PROCEDURE get_Guid
AS
SELECT NEWID();
Добавьте его в ярлыки
Из вашего SSMS goto Tools → Options → Environment → Keyboard
добавьте имя хранимой процедуры в ярлык, который вы хотите. Нажмите "ОК". Закройте SSMS и снова откройте его, и вы хорошо пойдете.
Как показано в приведенном выше снимке снимок, теперь, если вы нажмете CTRL + 0, он будет генерировать значение GUID для вас в том же окне запроса.