- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Finding sum of first n natural numbers in PL/SQL
In this problem, we are given a number N. Our task is to finding sum of first n natural numbers in PL/SQL.
PL/SQL is a combination of SQL along with the procedural features of programming languages.
PL/SQL has the following features −
PL/SQL is tightly integrated with SQL.
It offers extensive error checking.
It offers numerous data types.
It offers a variety of programming structures.
It supports structured programming through functions and procedures.
It supports object-oriented programming.
It supports the development of web applications and server pages.
PL/SQL has the following advantages −
SQL is the standard database language and PL/SQL is strongly integrated with SQL. PL/SQL supports both static and dynamic SQL. Static SQL supports DML operations and transaction control from PL/SQL block. In Dynamic SQL, SQL allows embedding DDL statements in PL/SQL blocks.
PL/SQL allows sending an entire block of statements to the database at one time. This reduces network traffic and provides high performance for the applications.
PL/SQL gives high productivity to programmers as it can query, transform, and update data in a database.
PL/SQL saves time on design and debugging by strong features, such as exception handling, encapsulation, data hiding, and object-oriented data types.
Applications written in PL/SQL are fully portable.
PL/SQL provides high security level.
PL/SQL provides access to predefined SQL packages.
PL/SQL provides support for Object-Oriented Programming.
PL/SQL provides support for developing Web Applications and Server Pages.
Let's take an example to understand the problem,
Input: N = 6 Output: 21
Solution Approach
PL/SQL works just like another programming language and the algorithm to find the number of first n natural numbers is the same. For finding it we have two methods.
Method 1
One method to solve the problem is by using a sum variable and adding each value from 1 to N to the sum. The values of sum after all additions are done is the result.
Example
Program to illustrate the working of our solution
DECLARE sumVal NUMBER; n NUMBER; i NUMBER; FUNCTION Findmax(n IN NUMBER) RETURN NUMBER IS sums NUMBER := 0; BEGIN FOR i IN 1..n LOOP sums := sums + i*(i+1)/2; END LOOP; RETURN sums; END; BEGIN n := 8; sumVal := findmax(n); dbms_output.Put_line('Sum of natural numbers is ' || sumVal); END;
Output
Sum of natural numbers is 36
Method 2
An alternate method to solve the problem is by using the general formula to find the sum of the first N natural numbers. The same can be implemented with PL/SQL.
The formula for finding the sum of first N natural numbers is $(N^*(N+1)(N+2))/6$.
Example
Program to illustrate the working of our solution
DECLARE sumNum NUMBER; N NUMBER; FUNCTION Findmax(N IN NUMBER) RETURN NUMBER IS sumVal NUMBER; BEGIN sumVal := (N * (N + 1) * (N + 2)) / 6; RETURN sumVal; END; BEGIN N := 8; sumNum := findmax(N); dbms_output.Put_line('Sum of natural numbers is ' || sumNum); END;
Output
Sum of natural numbers is 36