Hello,

"Christian Kienert" <Ch***************@gmx.de> wrote in message

news:bv**********@ngspool-d02.news.aol.com...

Hi,

We are just discussing "you can do almost everything

using a view". Of course the view might become a large

one, but it should be possible to do it with a view.

Any ideas on how to write a view that returns the

prime numbers within a table of numbers?

e.g.

create table NUMBERS (number integer);

create view PRIMES (number) as ???;

Well, it's trivial if you define a function that checks for primality:

-- Naive primality check

create or replace function isprime(p_number int) return int as

l_isprime int default 1;

l_d int default 2;

begin

while l_d >= 2 and l_d <= sqrt(p_number) loop

if mod(p_number, l_d) = 0 then l_isprime := 0; end if;

l_d := l_d +1;

end loop;

if p_number = 1 then return 0; else return l_isprime; end if;

end;

/

create view primes as select * from numbers where isprime(number)=1;

Rgds.

VC