declare
cursor v_cursor is select name from xiaoshou where num=7;
v_name xiaoshou.name%type;
begin
open v_cursor;
loop
fetch v_cursor into v_name;
dbms_output.put_line(v_name);
exit when v_cursor%notfound;
end loop;
close v_cursor;
end;
我想在没找到任何数据时候,退出并输出字符串“没有记录”,如何解决,请各位大侠指教!
cursor v_cursor is select name from xiaoshou where num=7;
v_name xiaoshou.name%type;
begin
open v_cursor;
loop
fetch v_cursor into v_name;
dbms_output.put_line(v_name);
exit when v_cursor%notfound;
end loop;
close v_cursor;
end;
我想在没找到任何数据时候,退出并输出字符串“没有记录”,如何解决,请各位大侠指教!
解决方案 »
- 根据子公司查顶级公司
- 在已有数据的情况下怎么增加标识列
- ORACLE触发器
- 插入多表联查出的数据停止响应
- 在Oracle数据库中 一个表的主键是自增序列,假如删除一条语句,然后在插入一条语句,要求插入的这条语句插入到删除那条语句的位置?
- execute immediate的问题
- 如何在数据库中查看和设置session的连接时间?谢谢
- 中秋快乐!请问:sql plus 出现错误!好像是乱码!ORA-01219: ??????: ???????/?????
- tigger调用的存储过程可以使用commit/rollback语句吗?
- 如何提高查询效率
- 数据库不增加字段,怎样使查询出来的记录加上自动编号
- [求助]有关在sql中判断查询的问题
CURSOR V_CURSOR IS
SELECT NAME FROM XIAOSHOU WHERE NUM = 7;
V_NAME XIAOSHOU.NAME%TYPE;
L_N INT := 0;
BEGIN
OPEN V_CURSOR;
LOOP
FETCH V_CURSOR
INTO V_NAME;
EXIT WHEN V_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_NAME);
L_N := L_N + 1;
END LOOP;
IF L_N = 0 THEN
DBMS_OUTPUT.PUT_LINE(没有记录);
END IF;
CLOSE V_CURSOR;
END;
/
CURSOR V_CURSOR IS
SELECT NAME FROM XIAOSHOU WHERE NUM = 7;
V_NAME XIAOSHOU.NAME%TYPE;
L_N INT := 0;
BEGIN
OPEN V_CURSOR;
LOOP
FETCH V_CURSOR
INTO V_NAME;
EXIT WHEN V_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_NAME);
L_N := L_N + 1;
END LOOP;
IF L_N = 0 THEN
DBMS_OUTPUT.PUT_LINE('没有记录');
END IF;
CLOSE V_CURSOR;
END;
/
DECLARE
CURSOR V_CURSOR IS
SELECT NAME FROM XIAOSHOU WHERE NUM = 7;
V_NAME XIAOSHOU.NAME%TYPE;
BEGIN
OPEN V_CURSOR;
LOOP
FETCH V_CURSOR
INTO V_NAME;
IF V_CURSOR%NOTFOUND AND V_CURSOR%ROWCOUNT=0 --判断没有数据
THEN DBMS_OUTPUT.PUT_LINE('没有记录');
END IF;
EXIT WHEN V_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_NAME);
END LOOP;
CLOSE V_CURSOR;
END;
/
CURSOR V_CURSOR IS
SELECT NAME FROM XIAOSHOU WHERE NUM = 7;
V_NAME XIAOSHOU.NAME%TYPE;
BEGIN
OPEN V_CURSOR;
LOOP
FETCH V_CURSOR
INTO V_NAME;
EXIT WHEN V_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_NAME);
END LOOP;
IF V_CURSOR%rowcount = 0 THEN
DBMS_OUTPUT.PUT_LINE(没有记录);
END IF;
CLOSE V_CURSOR;
END;
CURSOR%ROWCOUNT = 0