在sqlserver中为了判断select语句有没有查询结果使用一下方法
if no exists (select * from tableA)
这种情况在oracle中应该如何处理。
if no exists (select * from tableA)
这种情况在oracle中应该如何处理。
解决方案 »
- 一个简单的存储过程问题
- oracle连接
- 請問在ORACLE的存儲過程中如何使用事務處理﹖
- 为什么我得oracle中得存储过程刚编译完时的状态是VALID,而过一段时间在看它的状态就变成了INVALID?
- 求救:怎样做自动加1啊
- 查找两个表中不同的数据
- 添加记录,删除后,速度明显变慢,请问怎么解决?
- 那位老兄用过toad来创建oracle数据库啊!!!!
- w2000下安装oracle8,能否对solaris中的oracle7.2.x进行数据访问。net8如何连sql*net v1呢
- 怎么样使用oracle中nubmer型的字段呀!
- 一个ORACLE pro*c程序程序的编译问题
- 触发器的问题?是否需要用触发器?
SQL> declare
2 cnt int;
3 begin
4 select count(1) into cnt from tbl;
5 if cnt=0 then
6 dbms_output.put_line('No exists');
7 else
8 dbms_output.put_line('Data already exists');
9 end if;
10 end;
11 /Data already existsPL/SQL procedure successfully completedSQL>
例:
DECLARE
CURSOR c1 IS SELECT ename, sal FROM emp WHERE rownum<11;
v_ename VARCHAR2(10);
v_sal NUMBER(7,2);
BEGIN
OPEN c1;
FETCH c1 INTO v_ename, v_sal;
WHILE c1%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(v_ename||TO_CHAR(v_sal) );
FETCH c1 INTO v_ename, v_sal;
END LOOP;
CLOSE c1;
END;可以通过%ROWCOUNT属性, 返回已从CURSOR中读取得记录数。
只能变通实现
intRowCount number := 0;
begin
select count(*) into intRowCount from a;
if intRowCount = 0 then
dbms_output.put_line('No Data');
else
dbms_output.put_line('Have Data');
end if;
end;