⑴ 存储过程里if判断问题
sql">
p_cntnumber;
begin
selectcount(1)intop_cntfromtest2;
ifp_cnt>0then
deletefromtest2;
endif;
selectcount(1)intop_cntfromtest4;
ifp_cnt>0then
deletefromtest4;
endif;
insertintotest2
select*fromtest1;
insertintotest4
select*fromtest3;
commit;
end;
⑵ 可以在存储过程中加if语句吗
不懂。。。。。如果不满足你的AND条件,DELETE就算执行了也返回0,不会删除任何记录,你这个要求有意思么?
⑶ 存储过程 if语句的使用
那就要看一下你的readerinfo表上面是不是有触发器了:
create proc sp_test
as
update
set rrrid=case when rrrid=0 then 20 else 0 end
where readerid='s001'
⑷ oracle 存储过程 if语句
&&用and表示,如:
if 1=1 and 2=2 then
...
end;
||用or表示。
!用not表示。
⑸ mysql 存储过程中if控制语句的条件判断问题
if (@num1 < @time)
AND (@num2 < @time)
AND (@num3 < @time)
then
⑹ 请教ms sqlserver存储过程如何写多个if语句
select @user_blog_lock='yes'elseselect @user_blog_lock='no'GO这样写,后面那二条语句是没有执行到的。用到else if 是错误的语法,如果都都用if,第二条语句以后都不能执行了
变量的输入是对的。
第二、三条IF语句是不能执行了。看联机丛书 F1
-----------------------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 语句必须指向是相同的表名。
注释IF...ELSE 结构可以用在批处理中,存储过程中(经常使用这种结构测试是否存在着某个参数),以及特殊查询中。
可以在其它 IF 之后或在 ELSE 下面,嵌套另一个 IF 测试。对于嵌套层数没有限制。
示例
A. 使用一个 IF...ELSE 块
下面的示例显示带有语句块的 IF 条件。如果书的平均价格不低于 $15,那么就显示文本:Average title price is more than $15.
USE pubsIF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') < $15BEGINPRINT 'The following titles are excellent mod_cook books:'PRINT ' 'SELECT SUBSTRING(title, 1, 35) AS Title
FROM titles
WHERE type = 'mod_cook'ENDELSEPRINT 'Average title price is more than $15.'
下面是结果集:
The following titles are excellent mod_cook books:Title-----------------------------------
Silicon Valley Gastronomic Treats
The Gourmet Microwave
(2 row(s) affected)
B. 使用多个 IF...ELSE 块
下面的示例使用了两个 IF 块。如果书的平均价格不低于 $15,那么就显示文本:Average title price is more than $15。如果现代烹调书的平均价格高于 $15,则显示现代烹调书价格昂贵的语句。
USE pubsIF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') < $15BEGINPRINT 'The following titles are excellent mod_cook books:'PRINT ' 'SELECT SUBSTRING(title, 1, 35) AS Title
FROM titles
WHERE type = 'mod_cook'ENDELSEIF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') > $15BEGINPRINT 'The following titles are expensive mod_cook books:'PRINT ' 'SELECT SUBSTRING(title, 1, 35) AS Title
⑺ 能不能在存储过程里面写if 语句或when语句等控制语句
可以啊,IF
的用法:
IF
1=1
SELECT
'正确'
ELSE
SELECT
'错误'
when
是CASE(根据多种条件,返回多个可能结果之一)的子句:
SELECT
CASE
WHEN
1=1
THEN
'正确'
else
'错误'
end
⑻ SQL存储过程中,if判断语句中有多个判断条
if(@rq2 is null or @rq2!=@a11) //多个判断条件
begin
处理
end
else
begin
处理
end