plsql 怎么样判断一个查询结果为否空,或者判断一张表是否有记录

如题所述

判断查询结果是否为空可以使用【exists】函数进行判断。


例如:

if exists(select * from Table_temp)
    print '有记录'
else
    print '无记录'


exists函数在判断查询结果时,效率很高,并且不会产生大量的IO操作,因为当查询扫描到第一条记录时就会停止向下扫描其他符合条件的记录。所以比(select count(*) from Table_Temp)效率高了不少

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-12
常用的有两种方式:
1.程序块,利用异常来判断
声明一个变量
begin
select 字段 into 变量 from 表名 where 条件;
exception
when no_data_found then
--提示表中没有数据
end;
2.统计记录数
声明一个变量:ln_count number(3);
select count(*) into ln_count from 表名 where 条件;
if ln_count = 0 then
--提示表中没有数据
end if;

希望能够帮助你。如果满意记得选为最佳答案哦。。。O(∩_∩)O~本回答被提问者采纳

如何用PL\/SQL判断一个文件是否存在
if exists (select * from sysobjects where id = object_id(N'[dbo].[tbname]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbname]"

Oracle如何判断是否存在某张表
1、打开plsql客户端,登录oracle数据库;2、创建一个测试表,create table test_exists(id number, value varchar2(20));3、编写sql,插入oracle系统视图,查询刚建的表是否存在,select * from user_tables t where table_name= upper('test_exists');可以看到有查询结果,也就是说存在该表;4、...

oracle判断表是否存在字段
方法一:可以用user_tab_cols表进行查询,查询有结果表示字段存在:sql:select * from user_tab_cols where table_name='T_AAA' and column_name='COL_BBB';方法二:也可以用all_tab_columns表进行查询,查询有结果表示字段存在:sql:select * from all_tab_columns where owner='SYS_CCC' and...

怎么使用plsql查看执行计划
1、 打开熟悉的查看工具:PL\/SQL Developer。在PL\/SQL Developer中写好一段SQL代码后,按F5,PL\/SQL Developer会自动打开执行计划窗口,显示该SQL的执行计划。2、 查看总COST,获得资源耗费的总体印象 一般而言,执行计划第一行所对应的COST(即成本耗费)值,反应了运行这段SQL的总体估计成本,单看这个...

plsql中一张表中存有多个人的多条记录,如何获取每个人的最新信息,同时...
先用分组函数,按人分组,然后根据更新时间排序,并获取第一条记录,查出结果。如果要再插入到哪,这个你还是给个表结构,说明清楚,就比较好写点。

plsql中关于一张表中一条记录某个字段进行分割处理后插入到另一张表中...
l_comma_index PLS_INTEGER;l_index PLS_INTEGER := 1;l_tab test_type := test_type();BEGIN LOOP l_comma_index := INSTR(l_string, ',', l_index);EXIT WHEN l_comma_index = 0;l_tab.EXTEND;l_tab(l_tab.COUNT) := SUBSTR(l_string, l_index, l_comma_index - l...

在PLSQL中怎么能取到表中按ID降序排列的前十条记录???
1. 这两条语句是否适用于PL\/SQL?这两条语句不是适合不适合plsql,而是不适合oracle 2.如果不适用那么还有其它更好的语句么?oracle中用来限制行数,一般都用rownum这个伪列的。如 select * from (select * from test order by id desc ) where rownum <=10;order by 与 rownum 会按照语句中的...

SQL 查询结果作为新表名称怎么写?
mysql可以用存储过程实现,利用游标循环查询的结果集;oracle用plsql;以MySQL为例:

plsql 与 sqlplus 查询结果不一致
你查询一下 all_tables 或者 dba_tables 看一下 CD_ACCOUNT_CLASS_DICT 表的owner 然后 在sqlplus 下 show user 看看用户 和 plsql的用户是否是同一个,如果相同,在查询一下sqlplus 的登录数据库的SID 和 PLSQL 登录数据库的SID 看看是否一样。如果是同一个数据库同一个用户登录 是不会...

Oracle如何判断是否存在某张表
1、打开plsql客户端,登录oracle数据库;2、创建一个测试表,create table test_exists(id number, value varchar2(20));3、编写sql,插入oracle系统视图,查询刚建的表是否存在,select * from user_tables t where table_name= upper('test_exists');可以看到有查询结果,也就是说存在该表;4、...

相似回答