on_flag <> 1
如果on_flag 是NULL不是这样判断,而是 if on_flag is null then on_flag := 0;end if;
如果on_flag 是NULL不是这样判断,而是 if on_flag is null then on_flag := 0;end if;
解决方案 »
- oracle函数创建的小问题
- 怎样在oracle创表的时候默认本机时间?
- ora-01036 非法的变量名/编号???????测试不通过
- Oracle的SQL语句里面有没有类似mysql里Auto_Increment的语句?
- oracle数据绑定
- 关于索引表空间
- oracle 里面限制某个用户不能更改表里面的某个字段的触发器该怎么写
- Select error: ORA-01114: IO Error writing block to file %s (block #%s)
- 请教高手!怎么样使得oracle817的索引支持全模糊查询??
- 求助]oracle9i for linux 安装后不能登入数据库
- 关于触发器的用法
- SQL 中的 continue,Break Oracle 是用什么替代的??
if on_flag is null then on_flag := 0;end if;
IF on_flag <> 1 THEN
on_flag := 0;
END IF;
on_flag number(1) := 0;
...
begin
...
最好去网上找一些资料,用专门的关于null的用法介绍,也涉及到了null和1的区别。
记住,在将变量与NULL进行比较时,不能使用=或者<>,不然结果都是false。
ORACLE要求使用is null进行比较。
这没有什么道理可说,是数据库供应商的一个约定。