我正在尝试生成一些假地址。 我有一张表#Fakeaddess例如。
地址很少:
Id | Apartment | House
---------------------
1 | 2 | 13
---------------------
2 | 3 | 13
---------------------
3 | 4 | 13
---------------------
等等。
我想要做的是为这所房子增加公寓
DECLARE @intFlag INT
SET @intFlag = 4
WHILE (@intFlag <=100)
BEGIN
INSERT INTO #Fakeaddess
(Apartment,
House)
VALUES (
@intFlag,
13)
SET @intFlag = @intFlag + 1
END
GO
哪个工作正常,但如果我通过示例再次运行相同的查询,它会创建具有新地址ID的新公寓,这是我不想要的。问题是如果已存在具有相同编号的公寓,如何停止查询运行。
我尝试使用
Where Apartment not in
(
SELECT Apartment
FROM #Fakeaddess
)
在
DECLARE @intFlag INT
SET @intFlag = 4
WHILE (@intFlag <=100)
BEGIN
INSERT INTO #Fakeaddess
(Apartment,
House)
VALUES (
@intFlag,
13)
Where Apartment not in
(
SELECT Apartment
FROM #Fakeaddess
)
SET @intFlag = @intFlag + 1
END
GO
不起作用
DECLARE @intFlag INT
SET @intFlag = 4
WHILE (@intFlag <=100)
BEGIN
INSERT INTO #Fakeaddess
(Apartment,
House)
VALUES (
@intFlag,
13)
IF @intFlag in
(
SELECT Apartment
FROM #Fakeaddess
)
BREAK
SET @intFlag = @intFlag + 1
END
GO
也不起作用。
我在这里缺少什么?