gpt4 book ai didi

SQL Server - 如何创建 IF EXISTS...SELECT AND SELECT

转载 作者:行者123 更新时间:2023-12-04 19:16:18 27 4
gpt4 key购买 nike

我正在尝试对我的代码创建一个 IF/ELSE 检查,以确保参数 @BookTitle@GenreName 是尝试删除表 BookGenre 和 Genre 中的记录。我试图编写这行代码,但收到错误,

An expression of type non-Boolean type specified where condition is expected.

IF EXISTS (SELECT Id FROM Library.Book WHERE Title = @BookTitle AND 
SELECT Id FROM Library.Genre WHERE Name = @GenreName)
ELSE

我需要一些关于如何创建 IF EXISTS 语句表达式的指导,该表达式包含两个单独的 select 语句作为 IF 检查的一部分。

下面是完整的存储过程(没有 IF 语句):

PROCEDURE [Library].[DeleteDateFromBookGenre]
-- Parameters to select which record delete
@BookTitle nvarchar(200),
@GenreName nvarchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

IF EXISTS (SELECT Id FROM Library.Book WHERE Title = @BookTitle)
IF EXISTS (SELECT Id FROM Library.Book WHERE Title = @BookTitle)

-- Deletes the specified and selected data from the Genre and Book table.
DELETE FROM Library.BookGenre
WHERE BookId IN (
SELECT Id
FROM Library.Book
WHERE Title = @BookTitle
) AND
GenreId IN (
SELECT Id
FROM Library.Genre
WHERE Name = @GenreName
)
END

最佳答案

你的括号没了;你需要两个 EXISTS 条件:

IF EXISTS (SELECT Id FROM Library.Book WHERE Title = @BookTitle
) AND
EXISTS (SELECT Id FROM Library.Genre WHERE Name = @GenreName
)
BEGIN
. . .
END

关于SQL Server - 如何创建 IF EXISTS...SELECT AND SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53255078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com