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; /
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;
我的问题是这样的: 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;这样行吗?谢谢
语句是这样的:EXEC SQL prepare pre_sql from :stmt;其中:stmt是存放SQL语句的,现在我想知道SQL得到了多少条记录,谢谢!
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;
/
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;
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;这样行吗?谢谢