40 lines
618 B
MySQL
40 lines
618 B
MySQL
drop table t;
|
|
|
|
set echo on
|
|
|
|
create or replace function f(x in number) return number as
|
|
begin
|
|
dbms_output.put_line('F='||to_char(x));
|
|
return x;
|
|
end;
|
|
/
|
|
|
|
set serverout on size 1000000
|
|
|
|
select * from dual
|
|
where
|
|
rownum = f(2)
|
|
or rownum = f(1)
|
|
/
|
|
|
|
create table t (a, b) as select 1, 1 from dual connect by level <= 100000;
|
|
insert into t values (1,2);
|
|
commit;
|
|
|
|
@gts t
|
|
|
|
truncate table t;
|
|
insert into t values (1,2);
|
|
commit;
|
|
|
|
--exec dbms_stats.set_table_stats(user, 'T', numrows=>1000000, numblks=>10000, avgrlen=>10, no_invalidate=>false);
|
|
|
|
select * from t where b=f(2) or a=f(1);
|
|
|
|
set echo off serverout off
|
|
|
|
/
|
|
|
|
@x
|
|
|