当我在数据库中搜索时,如果发现某个特定项不存在,则运行INSERT语句,如果找到一个或多个该项,则运行不同的INSERT语句。
我不完全确定如何使用IF ELSE表达式。
到目前为止,我得到的是一个语句,它将计算目标数据出现的次数;如果大于0,它将打印TRUE,如果不大于0,它将打印FALSE。我找不到任何示例来帮助我理解如何使用它来运行两个不同的INSERT语句。
这是我到目前为止所知道的:
SELECT CASE WHEN COUNT(*)>0 THEN 'TRUE' ELSE 'FALSE' END
(
SELECT [Some Column], COUNT(*) TotalCount
FROM INCIDENTS
WHERE [Some Column] = 'Target Data'
GROUP BY [Some Column]
)发布于 2012-12-29 00:12:13
根据您的需求,这里有几种方法:
IF EXISTS (SELECT * FROM TABLE WHERE COLUMN = 'SOME VALUE')
--INSERT SOMETHING
ELSE
--INSERT SOMETHING ELSE或者更长一点
DECLARE @retVal int
SELECT @retVal = COUNT(*)
FROM TABLE
WHERE COLUMN = 'Some Value'
IF (@retVal > 0)
BEGIN
--INSERT SOMETHING
END
ELSE
BEGIN
--INSERT SOMETHING ELSE
END 发布于 2019-02-13 22:38:58
只需使用以下内容:
IF((SELECT count(*) FROM table)=0)
BEGIN
....
END发布于 2012-12-29 00:11:19
只要你需要根据大于0的Count来查找它,最好使用下面这样的EXISTS:
IF EXISTS (SELECT 1 FROM INCIDENTS WHERE [Some Column] = 'Target Data')
BEGIN
-- TRUE Procedure
END
ELSE BEGIN
-- FALSE Procedure
ENDhttps://stackoverflow.com/questions/14072140
复制相似问题