存储过程 IF.THEN 的有关问题
存储过程 IF....THEN 的问题
在存储工程中
1个IF后可不可以跟两个结果
可以的话该这么写?
比如IF v_date:='20130101'
then v_table='2012_12;
v_date='20121231'+1
这样写可以吗?
------解决方案--------------------
IF v_date ='20130101' then
v_table='2012_12;
v_date='20121231'+1;
end if;
这样写
------解决方案--------------------
写错了。 后面的两个得用 := 来赋值
------解决方案--------------------
可以的。
------解决方案--------------------
而且字符串不能用 + 号 得用
------解决方案--------------------
连接
------解决方案--------------------
当然可以,语法正确就OK
if 表达式
then
表达式1;
表达式2;
...
end if
------解决方案--------------------
PS: 在oracle中,赋值用 :=,字符串连接
------解决方案--------------------
可以,直接用
IF v_date='20130101' then
v_date:='2012_12';
v_date:='20121231'
------解决方案--------------------
1;
end if;
即可。
在存储工程中
1个IF后可不可以跟两个结果
可以的话该这么写?
比如IF v_date:='20130101'
then v_table='2012_12;
v_date='20121231'+1
这样写可以吗?
------解决方案--------------------
IF v_date ='20130101' then
v_table='2012_12;
v_date='20121231'+1;
end if;
这样写
------解决方案--------------------
写错了。 后面的两个得用 := 来赋值
------解决方案--------------------
可以的。
CREATE OR REPLACE PROCEDURE TBS.QQ_TEST_1
AS
j number;
begin
j := 0;
if j = 0 then
dbms_output.put_line(SYSDATE);
dbms_output.put_line(SYSDATE);
end if;
END QQ_TEST_1;
/
------解决方案--------------------
而且字符串不能用 + 号 得用
------解决方案--------------------
连接
------解决方案--------------------
当然可以,语法正确就OK
if 表达式
then
表达式1;
表达式2;
...
end if
------解决方案--------------------
PS: 在oracle中,赋值用 :=,字符串连接
------解决方案--------------------
可以,直接用
IF v_date='20130101' then
v_date:='2012_12';
v_date:='20121231'
------解决方案--------------------
1;
end if;
即可。