对oracle数据库进行操作,如何查询sql语句查询到的数据条数,必须使用游标吗?谢谢

解决方案 »

  1.   

    select count(1) from table
      

  2.   

    但是现在我想得到count(1)具体是多少?select count(*) into :sum  from table 这样好像不对,应该怎么改呢,请高手指点,谢谢!
      

  3.   

    问题补充:
    语句是这样的:EXEC SQL prepare pre_sql from :stmt;其中:stmt是存放SQL语句的,现在我想知道SQL得到了多少条记录,谢谢!
      

  4.   

    这个sql语句是在一个循环里面的,并且上个循环有个游标且使用到了sqlca.sqlerrd[2],如果再定义一个游标,并且也使用sqlca.sqlerrd[2],好像逻辑就错了,应该怎么用这个游标呢?
      

  5.   

    declare
      l_stmt varchar2(100) := 'select count(*) from dept';
      l_count number;
    begin
      execute immediate l_stmt into l_count;
      dbms_output.put_line('count='||l_count);
    end;
    /
      

  6.   


    declare
      l_stmt varchar2(100) := 'select * from TEST';
      type t_test_table is table of TEST%rowtype;
      v_test_table t_test_table;
    begin
      execute immediate l_stmt BULK COLLECT INTO v_test_table;
      dbms_output.put_line('count='||SQL%ROWCOUNT);
    end;
      

  7.   

    在查询语句后面紧跟使用隐含的变量 SQL%ROWCOUNT即可
      

  8.   

    PL/SQL中用SELECT好像有个显示查询到的数据的行数只要一个设置命令就好干吗要用触发器呢!!!
      

  9.   

    我的问题是这样的:
     sprintf(stmt,"SELECT * FROM tbl_%d WHERE CardID2 = '%s' AND ExitTime > EntryTime",atoi(tab_i)-1,str_entrywaste[i].CardID2 str_entrywaste[i].EntryStationID);
         EXEC SQL prepare pre_sql from :stmt;
    现在我想知道执行完SQL语句后能查到多少条语句,因为在后面要根据这个记录条数进行判断,EXEC SQL prepare pre_sql from :stmt into :sum;这样行吗?谢谢