sql中if then的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中if then的使用相关的知识,希望对你有一定的参考价值。

create trigger deleteone
on filmreview for delete
as begin
declare @q int
set @q = old.filmreview_id
while(old.filmreview_id!=MAX(filmreview_id))
begin
if(filmreview_id > @q) then
filmreview_id = filmreview_id - 1
else
break
end
end

帮我看看这个触发器有问题吗 sqlserver2008报错
说then附近有语法错误

参考技术A if 后面没then
引用sql联机丛书
IF...ELSE
在执行 Transact-SQL 语句时强加条件。如果条件满足(布尔表达式返回 TRUE 时),则在 IF 关键字及其条件之后执行 Transact-SQL 语句。可选的 ELSE 关键字引入备用的 Transact-SQL 语句,当不满足 IF 条件时(布尔表达式返回 FALSE),就执行这个语句。

语法
IF Boolean_expression
sql_statement | statement_block
[ ELSE
sql_statement | statement_block ]

另外你这个触发器能执行?
set @q = old.filmreview_id
while(old.filmreview_id!=MAX(filmreview_id))
这两行我怎么看都不符合sql语法啊
参考技术B SQL中的if...else语法没有then的。
应该是
if(filmreview_id > @q)
begin
filmreview_id = filmreview_id - 1
end
else
begin
break
end
end
参考技术C take out End below break本回答被提问者采纳

以上是关于sql中if then的使用的主要内容,如果未能解决你的问题,请参考以下文章

sql中if then的使用

使用带有变量的 If Then 运行不同的 SQL 语句

您可以在 SQL 中使用 if-then-else 逻辑吗? [复制]

mysql触发器使用if..then sql elseif then end if; 转自 吴大哥

oracleif判断语句

PL/SQL if-then语句