【发布时间】:2020-07-16 14:47:10
【问题描述】:
我有一个 Azure SQL 数据库。在这个数据库中,我有一个负责插入电子邮件地址的存储过程。我需要从表中获取电子邮件地址的 ID。如果电子邮件地址不存在,我需要在表中创建一条新记录并获取 ID。为了做到这一点,我目前有:
DECLARE @ID UNIQUEIDENTIFIER;
SELECT @ID=[ID] FROM [dbo].[EmailAddresses] WHERE [EmailAddress]=@EmailAddress
-- Identify if a new email address needs to be created
IF @ID = CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)
BEGIN
PRINT N'Insert a new record into EmailAddresses. Then, assign the ID variable'
PRINT N'I never get here'
END
我知道如何将记录插入到表中。我的问题是IF @ID...。我不知道,也找不到UNIQUEIDENTIFIER 变量的默认值是什么。因此,我的IF 语句中的条件始终为假。
Azure SQL 中UNIQUEIDENTIFIER 变量的默认值是什么?如何在其上设置IF?
谢谢!
【问题讨论】:
-
如果
@EmailAddress不存在SELECT [ID] FROM [dbo].[EmailAddresses] WHERE [EmailAddress]=@EmailAddress,你会在SSMS 中得到什么?
标签: sql-server tsql azure-sql-database