rycy.net
当前位置:首页 >> orAClE存储过程判断空 >>

orAClE存储过程判断空

create procedure 过程名(inparam in varchar2) as begin if inparam is null then 普通查询; else 带where条件的查询; end if; end; 这样写试一下,看看是否好用。

已经经过测试,可以。 create table test1023(id int); --创建测试表 test1023 declare cnt int; begin select count(*) into cnt from test1023; if cnt=0 then insert into test1023 values('1'); commit; end if; end;

可以 IS NULL 判断。 或者 NVL 函数来判断。 SQL> SELECT 2 NVL(sale_item, 'ALL') AS item, 3 SUM(sale_money) AS money 4 FROM 5 sale_report 6 GROUP BY 7 ROLLUP(sale_item); ITEM MONEY ------ ---------- A 733285 B 2382 C 5738 ALL 741405

SQL> create table mmm as select * from dba_objects where rownum select count(*) from mmm; COUNT(*) ---------- 1 SQL> declare 2 i number; 3 begin 4 for i in 1..4 loop 5 insert into mmm select * from dba_objects; 6 commit; 7 end ...

可以绕个弯... 先可以用select count(*) 查询你游标的结果集,判断一下如果大于0 则说明有值,如果等于0就没有值,有值就继续执行打开游标,没有值的话就返回 DBMS_OUTPUT.PUT_LINE('没有返回值');

如果是PL/sql 在存储过程上点击右键,view就行 其他工具也有查看的,一般点右键,都有类似于查看的功能的

空值 ,你直接用NVL不就行了. open cusers for select * from C_USERS where logintime >= NVL(start_time,logintime) and logintime

哪你改成 if ordersn is null then 就行了社。。

可以为空的,你在存储过程中可以 判断 if param is null then 语句; 来做判断这个参数param是空的 欢迎追问,满意请采纳

空值 ,你直接用NVL不就行了. open cusers for select * from C_USERS where logintime >= NVL(start_time,logintime) and logintime

网站首页 | 网站地图
All rights reserved Powered by www.rycy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com