当前位置: 首页 > 面试题库 >

如何在代码编辑器中插入NEWID()/ GUID / UUID?

颛孙铭
2023-03-14
问题内容

许多代码编辑器都有一个内置菜单项或键盘功能来获取UUID,例如,当我在Delphi中按CTRL+
SHIFT+时G,它将在源代码的当前位置插入一个GUID。

我知道我可以SELECT NEWID()用来生成UUID,但是我必须转到查询结果,将生成的UUID复制到剪贴板(杀死之前的内容),然后返回代码并替换查询处理这个问题的糟糕方法。

在我尚未找到的SQL Server Management Studio中,是否有任何功能(也许使用IntelliSense代码段?)来执行此操作?

关于为什么需要此功能的一些背景知识,我经常这样编写SQL脚本:

INSERT INTO table (table_id, value) 
VALUES ('112C8DD8-346B-426E-B06C-75BBA97DCD63', 'ABC');

我不能只使用call NEWID(),因为稍后(在另一个文件中)我想使用以下方式引用特定的行:

WHERE table_id = '112C8DD8-346B-426E-B06C-75BBA97DCD63'

如何将UUID插入代码编辑器?


问题答案:

NEWID()本身就是一个功能。调用时返回GUID值。

您不必将其放在单独的窗口中,然后从那里复制粘贴值。只需将函数放在需要GUID值的位置,然后在运行时执行查询时,将使用此函数返回的值。

例如在插入语句中

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。您将需要两件事。

  1. 创建一个存储过程,该过程返回GUID值。
  2. 添加一个快捷键来调用该存储过程。

过程定义

CREATE PROCEDURE get_Guid
AS 
 SELECT NEWID();

将其添加到快捷方式

从您的SSMS转到工具->选项->环境->键盘

将存储过程的名称添加到所需的快捷方式。单击确定。关闭SSMS,然后重新打开它,一切就好了。

在此处输入图片说明

如上面的片段所示,现在如果按CTRL + 0,它将在同一查询窗口中为您生成一个GUID值。



 类似资料:
  • 你马上就要写下第一行代码,现在该下载一个代码编辑器了! 注意在之前章节你可能已经完成了这一步,如果那样的话,你可以直接进入下一章节。 有很多不同的编辑器,通常根据个人偏好选择。 大部分 Python程序员使用像 PyCharm这样复杂但是功能强大的IDE (集成开发环境)。 然而,这可能不太适合初学者。我们建议使用同样强大但是更为简单的编辑器。 下面是我们的建议,但是你可以随时咨询你的教练。那样会

  • 程序员接触时间最长的就是代码编辑器。 代码编辑器主要分两种:IDE(集成开发环境)和轻量编辑器。很多人喜欢这两种各选一个。 IDE IDE(集成开发环境)是指用于管理整个项目的,具有强大功能的编辑器。顾名思义,它不仅仅是一个编辑器,而且还是个完整的“开发环境”。 IDE 加载项目(通常包含很多文件),并且允许在不同文件之间导航(navigation)。IDE 还提供基于整个项目(不仅仅是打开的文件

  • 了解如何在“代码”视图中工作并充分利用 Dreamweaver 的编码功能。 可通过多种方式在 Dreamweaver 中处理代码。 您可以使用“新建文档”对话框打开新的代码文件,然后开始键入您的代码。在 Dreamweaver 中创建新的代码文件 键入时,会显示代码提示以帮助您选择代码和避免打字错误。如果需要,可使用 Dreamweaver 的有用的快捷文档获取 CSS 的相关帮助。 还可以使用

  • 如何在Atom编辑器中自动缩进代码?在其他编辑器中,通常可以选择一些代码并自动缩进。 还有键盘快捷键吗?

  • 问题内容: 我的容器中包含所有网站代码。 我的Dockerfile使用git下载代码,并将其作为映像的一部分,以便更轻松地部署到生产环境。 但是,如何在开发中编辑代码?我认为使用卷是解决方案,例如:。但是它将覆盖容器中的目录。如果是我第一次运行它,它将清空它,因为主机中没有任何东西。因此,我在Dockerfile中所做的一切都丢失了。 我还希望在应用程序的不同版本之间共享目录和文件,例如:。这是专

  • Blockly的大多数应用程序都可以将用户程序翻译成JavaScript,Python,PHP,Lua,Dart或其他语言。此操作由Blockly在客户端执行。 生成代码 第一步是导入相关语言的生成器。 Blockly包括以下生成器: javascript_compressed.js python_compressed.js php_compressed.js lua_compressed.js