Here you will get a pl/sql program for prime number.

A number is a prime number if it is divisible by 1 or itself. For example 2, 3, 5, 7, etc are prime numbers.

While numbers like 4, 6, 8, etc are not prime.

## PL/SQL Program for Prime Number

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
declare n number; i number; flag number; begin i:=2; flag:=1; n:=&n; for i in 2..n/2 loop if mod(n,i)=0 then flag:=0; exit; end if; end loop; if flag=1 then dbms_output.put_line('prime'); else dbms_output.put_line('not prime'); end if; end; / |

**Output**

*Enter value for n: 12*

*old 9: n:=&n;*

*new 9: n:=12;*

*not prime*

Rahul WaydeVery Helpful

Thank you!!!

SairamHii …we want full pl/SQL programme’s if don’t mine it will we send to my site.

KiranVery Helpfull

Thanks You

SUMIT KUMAR GUPTAsir, why are we using n/2 in for loop. Please explain

Gunjanif half of the values of n does not give remainder 0 then the higher values preceding n/2 will also not give reminder zero and it also improves performance of the code as you are executing the condition for half of the length.

hope u got it.

VenkatWont work if input is 2 . For input 2 it will show not a prime.

spideyit worked bro

jinal parekhCan you please explain how it worked for 2.As per my understanding i and n both are 2 so flag will be 0 hence not prime. Please correct if i am wrong

JYOTHIVEMAVARAPUthanks

PrathyushaPL SQL Program to print sum of first 10 Prime numbers

esravery nice

nitui need a program to print sum of first 10 prime numbers in pl/sql.

amarnath .dhai Neeraj Mishra you are doing a grate job i like your programming .but i have one doubt in prime number program by plsql .why we take n/2 to in mod function could you please explain this.except this i have understood all you programs. please reply to me .

Ashish RawatIdentifying Prime numbers from 1 to 1000

==========================>

DECLARE @range int = 1000 –(Select your range from 2 to @range)

,@x INT = 1, @y int = 1

While (@y <= @range)

BEGIN

while (@x <= @y)

begin

IF ((@y%@x) =0)

BEGIN

IF (@x = @y)

PRINT @y

break

END

IF ((@y%@x)0)

set @x = @x+1

end

set @x = 2

set @y = @y+1

end