if then 问题
各位大大帮忙看看以下代码问题:
begin
if (@first1+@last1)%10=8 or (@first1+@last1)%10=9 or
(@first2+@last2)%10=8 or (@first2+@last2)%10=9
then
insert into xue(B1,B2,P1,P2) values(@first1,@last1,@first2,@last2)
else
end
-----------
我执行时显示错误:
消息 156,级别 15,状态 1,第 71 行
关键字 'then ' 附近有语法错误。
消息 156,级别 15,状态 1,第 73 行
关键字 'else ' 附近有语法错误。
------解决方案--------------------then改为begin,没有else就不要else嘛,这个是sql语句吧?
------解决方案--------------------语法错误,在sql中,if条件判断是没有then的
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 } ]
参数
Boolean_expression
是返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。
{sql_statement | statement_block}
Transact-SQL 语句或用语句块定义的语句分组。除非使用语句块,否则 IF 或 ELSE 条件只能影响一个 Transact-SQL 语句的性能。若要定义语句块,请使用控制流关键字 BEGIN 和 END。如果在 IF...ELSE 块的 IF 区和 ELSE 区都使用了 CREATE TABLE 语句或 SELECT INTO 语句,那么 CREATE TABLE 语句或 SELECT INTO 语句必须指向是相同的表名。