存储过程ifelse
‘壹’ 怎么编辑存储过程的if,else
Oracle 是下面这种写法:
IF testvalue > 100 THEN
dbms_output.put_line( '100+' );
ELSIF testvalue = 100 THEN
dbms_output.put_line( '100' );
ELSE
dbms_output.put_line( '100-' );
END IF;
DB2, MYsql 是下面这种写法: ( 与 Oracle 区别在于那个 ELSIF )
IF p_val > 100 THEN
INSERT INTO output_debug VALUES( '100+' );
ELSEIF p_val = 100 THEN
INSERT INTO output_debug VALUES( '100' );
ELSE
INSERT INTO output_debug VALUES( '100-' );
END IF;
SQL Server 有些差别:
IF @testvalue > 100
BEGIN
PRINT( '100+' );
END
ELSE IF @testvalue = 100
BEGIN
PRINT( '100' );
END
ELSE
BEGIN
PRINT( '100-' );
END
‘贰’ sqlserver中if else的用法,我写的这个存储过程 提示else附近有语法错误
楼上正解,if-else语法为,最好不要把begin
end省略掉
if
a>b
Begin
print
'a'
End
Else
Begin
print
'b'
End
‘叁’ Oracle 存储过程IF ELSE 老提示 DROP TABLE 时有错
存储过程里面不能直接写DDL
then
excute immediate “DROP TABLE SJKPROBHCR”;
Else
‘肆’ ifelse语句格式
if 语句是一种分支结构,当条件满足时,有“执行该操作语句”和“跳过执行该操作语句”的两条分支。 if 语句的格式如下。
当 if 体中的语句多于一条时,要用 {} 把这些语句括起来形成一条复合语句,如下所示。
if (条件表达式)
{
复合语句A;
}
当 if 体为一条简单语句时,可以省略 {},即:
if (条件表达式)
简单语句A; //if体
该条件表达式可以是关系表达式、逻辑表达式、算术表达式或混合表达式等。只要其值为真或非零均执行 if 体。例如:
if (a>6) //关系表达式,当 a>6 时表达式值为真,执行if体
Statement(s);
if (a||b) //逻辑表达式,只要a、b中有一个为真,结果为真,执行if体
Statement(s);
if (3-6) //算术表达式,只要该表达式的值非0,结果为真,执行if体
Statement(s);
/*关系、逻辑混合表达式,只要age>=60或age<=10其中一项为真,结果为真,执行if体*/
if (age>=60 ||age<=10)
Statement(s);
if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。
if-else语句
if-else 语句的格式如下。当 if 语句体或 else 语句体中的语句多于一条时,要用 {} 把这些语句括起来形成一条复合语句,如下所示。
if(条件表达式)
{
复合语句A; //if体
}
else
{
复合语句B; //else体
}
当 if 体或 else 体为一条简单语句时,可以省略 {},即:
if(条件表达式)
简单语句A;//if体
else
简单语句B;//else体
同 if 语句一样,条件表达式可以是关系表达式、逻辑表达式、算术表达式或混合表达式等。
if-else 语句的执行流程:首先判断关键词if后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体(语句 A),而不执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体(语句 A),而执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句。
由于表达式的值在逻辑上只有真和假,故 if 和 else 在执行流程上是互斥的,执行且只能执行两者中的一个。
‘伍’ 存储过程的if,else怎么写
不同的数据库中,存储过程中if else 语句写法有一些差别。
如果是SQLServer数据库,存储过程的if, else语句可以这样写:
ifa>b
Begin
print'a'
End
Elseifa<b
Begin
print'b'
End
Else
Begin
print'代码'
End
Oracle 采用下面这种写法:
IFtestvalue>100THEN
dbms_output.put_line('100+');
ELSIFtestvalue=100THEN
dbms_output.put_line('100');
ELSE
dbms_output.put_line('100-');
ENDIF;
DB2, MYSQL 是下面这种写法: ( 与 Oracle 区别在于那个 ELSIF )
IFp_val>100THEN
INSERTINTOoutput_debugVALUES('100+');
ELSEIFp_val=100THEN
INSERTINTOoutput_debugVALUES('100');
ELSE
INSERTINTOoutput_debugVALUES('100-');
ENDIF;
‘陆’ mssql存储过程if...else。判断
不知道。。
我做了测试
declare @num int
declare @sql varchar(100)
set @num = 0
if(@num>0)
set @sql = 'update table set....'
else
set @sql='insert into table values'
print (@sql)
发现能print出来语句啊
‘柒’ 存储过程应用语句有哪些
存储过程与其他面向对象的程序设计语言一样,同样包含数据类型、流程控制、语句注释、输入和输出与自己的函数库。存储过程的流程控制语句有ifelse、casewhenthen、while等,但没有for循环,跟C++、Java等语言的流程控制语句非常类似。条件语句条件语句是流程控制的重要组成部分,跟其他编程语言一样,存储过程允许使用if关键字来作条件判断,除此之外,还可以使用case来实现其他更为灵活的条件控制。
1.if语句(1)if语法if语句是最普通的条件控制语句,其语法简单易懂,在存储过程代码中随处可见,也是使用频率最高的条件判断语句。
语法格式:if…then…elseif…then…else…endif其中,((1)if后面跟判断条件;
(2)elseif后面跟判断条件;
(3)then后面跟条件分支语句块;
(4)可以有多个elseif…then语句块,也可以没有;(5)else表示以上条件均不满足时会执行的语句块;
(6)整个条件语句块的最后面以endif表示结束。if语句的用法,以语句“ifcondition_para=1then”开始条件控制,以语句“endif”结束条件控制,中间用“elseif”“else”作条件分支控制。单个SQL语句if语法语句格式:if(expr1
‘捌’ 在sqlserver的存储过程中怎样使用if-else if
ifa>b
Begin
print'a'
End
Elseifa<b
Begin
print'b'
End
Else
Begin
print'代码'
End
if-else语法为,最好不要把beginend省略掉。否则,存储过程比较长可能会报语法错误
‘玖’ sql 写一个存储过程写一个insert,当 if else 执行到else时 就结束 怎么写
result := true; 是delphi中的写法
换成return true;
‘拾’ oracle 存储过程里的if else
ifS_date=4then
p_temp();
elsifS_date!=4then
p_temp2();
endif;