How to insert a NEWID() / GUID / UUID into the code editor?(如何在代码编辑器中插入newid()/guid/uuid?)
问题描述
许多代码编辑器都有内置的菜单项或键盘功能来获取UUID,例如,当我在Delphi中按CTRL+Shift+G时,它会在源代码中的当前位置插入一个GUID。
我知道我可以使用 是否有任何功能(可能使用智能感知代码片段?)是否在我尚未找到的SQL Server Management Studio中执行此操作? 关于为什么需要此函数的一些背景知识,我经常这样编写SQL脚本: 我不能只使用Call 如何将UUID插入代码编辑器? SELECT NEWID()来生成UUID,但我必须转到查询结果,将生成的UUID复制到我的剪贴板(杀死之前在那里的所有内容),然后返回到代码并替换查询,这是一种糟糕的处理方式。
INSERT INTO table (table_id, value)
VALUES ('112C8DD8-346B-426E-B06C-75BBA97DCD63', 'ABC');
NEWID(),因为我稍后(在另一个文件中)希望使用:WHERE table_id = '112C8DD8-346B-426E-B06C-75BBA97DCD63'
推荐答案
NEWID()本身是一个函数。调用时返回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转到工具-->选项-->环境-->键盘
将存储过程的名称添加到您想要的快捷方式。单击确定。关闭SSMS并重新打开它,您就可以开始工作了。
如上面的快照所示,现在如果您按CTRL+<0,它将在同一查询窗口中为您生成一个GUID值。
这篇关于如何在代码编辑器中插入newid()/guid/uuid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在代码编辑器中插入newid()/guid/uuid?
基础教程推荐
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
