对于作业,我必须执行以下操作。
编写脚本来安全地检查特定区域是否存在:
声明类型为@region
的名为Space
的自定义区域NVARCHAR(25)
。
使用IF NOT EXISTS, ELSE, and BEGIN..END
可以:
THROW 50001, 'Error!', 0
相匹配的记录,则对@region
抛出错误。
如果记录确实存在,请从“区域”表中选择该区域的所有列。
注意:
将“区域”表指定为Region
,而不是dbo.Region
。
在任何地方使用SELECT * FROM Region <fill in>
。
我写的查询某种程度上是不正确的,但我不知道出了什么问题:
DECLARE @region NVARCHAR(25)='Space'
IF NOT EXISTS (SELECT * FROM Region WHERE RegionDescription = @region)
BEGIN
THROW 50001, 'Error!', 0;
END
ELSE
BEGIN
(SELECT * FROM Region WHERE RegionDescription = @region)
END
答案 0 :(得分:0)
我认为您的查询是正确的。它输出“错误!”因为如果表中不存在名为“ Space”的区域,则应该这样做。尝试在带有RegionDescription的表中插入一行称为“ Space”的行,然后您的查询应输出该行。
也许问题仅在于您没有名为Region的表。如果是这样,则应从创建此表开始。该表必须具有一些列,其中一列应称为RegionDescription。
如果这对您没有帮助,请说明您收到的错误消息。
答案 1 :(得分:0)
这是我编写的查询,提交成功。不确定两者之间有什么不同。...
DECLARE @region NVARCHAR(25)='Space'
IF NOT EXISTS (Select * From Region WHERE RegionDescription=@region)
BEGIN
THROW 50001,'error!',0;
END
ELSE
BEGIN
(SELECT * from Region Where RegionDescription=@region)
END