0% found this document useful (0 votes)
2 views46 pages

VB Programs

The document provides Visual Basic code examples for creating a calculator, generating Fibonacci series, summing numbers, and managing MDI forms. It also includes SQL commands for creating and manipulating an employee database, along with inventory management queries. Various coding techniques such as loops, decision-making statements, and database operations are demonstrated throughout the document.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views46 pages

VB Programs

The document provides Visual Basic code examples for creating a calculator, generating Fibonacci series, summing numbers, and managing MDI forms. It also includes SQL commands for creating and manipulating an employee database, along with inventory management queries. Various coding techniques such as loops, decision-making statements, and database operations are demonstrated throughout the document.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 46

VISUAL

BASIC
1. CALCULATOR
FORM DESIGN
CODINGS
Dim temp As Double
Dim op As String
Private Sub Command1_Click()
Text1.Text = Text1.Text + Command1.Caption
End Sub
Private Sub Command2_Click()
Text1.Text = Text1.Text + Command2.Caption
End Sub
Private Sub Command3_Click()
Text1.Text = Text1.Text + Command3.Caption
End Sub
Private Sub Command4_Click()
Text1.Text = Text1.Text + Command4.Caption
End Sub
Private Sub Command5_Click()
Text1.Text = Text1.Text + Command5.Caption
End Sub
Private Sub Command6_Click()
Text1.Text = Text1.Text + Command6.Caption
End Sub
Private Sub Command7_Click()
Text1.Text = Text1.Text + Command7.Caption
End Sub
Private Sub Command8_Click()
Text1.Text = Text1.Text + Command8.Caption
End Sub
Private Sub Command9_Click()
Text1.Text = Text1.Text + Command9.Caption
End Sub
Private Sub Command10_Click()
Text1.Text = Text1.Text + Command10.Caption
End Sub
Private Sub Command11_Click()
Text1.Text = Text1.Text + Command11.Caption
End Sub
End Sub
Private Sub Command12_Click()
Text1.Text = " "
End Sub
Private Sub Command13_Click()
op = "+"
temp = Val(Text1.Text)
Text1.Text = " "
End Sub
Private Sub Command14_Click()
op = "_"
temp = Val(Text1.Text)
Text1.Text = " "
End Sub
Private Sub Command15_Click()
op = "*"
temp = Val(Text1.Text)
Text1.Text = " "
End Sub
Private Sub Command16_Click()
op = "/"
temp = Val(Text1.Text)
Text1.Text = " "
End Sub
Private Sub Command17_Click()
If op = "+" Then
Text1.Text = temp + Val(Text1.Text)
End If
If op = "_" Then
Text1.Text = temp - Val(Text1.Text)
End If
If op = "*" Then
Text1.Text = temp * Val(Text1.Text)
End If
If op = "/" Then
Text1.Text = temp / Val(Text1.Text)
End If
End Sub
Private Sub Command18_Click()
End
End Sub
OUTPUT
CALCULATOR
2. SIMPLE PROGRAMS USING LOOPS AND DECISION
MAKING STATEMENTS

A) FIBONACCI SERIES

FORM DESIGN
CODINGS

Private Sub Command1_Click()


Dim f, s, ans, n As Integer
n = Val(Text1.Text)
ans = 0
f=0
s=1
List1.AddItem f
List1.AddItem s
cnt = 2
While (cnt < n)
ans = f + s
List1.AddItem ans
f=s
s = ans
cnt = cnt + 1
Wend
End Sub

Private Sub Command2_Click()


List1.Clear
Text1 = " "
End Sub

Private Sub Command3_Click()


End
End Sub
OUTPUT

FIBONACCI SERIES
B) TO FIND SUM OF N NUMBERS

FORM DESIGN
CODING
Private Sub Command1_Click()
Dim n, sum, cnt, rem1 As Integer
n = Val(Text1.Text)
sum = 0
While (n > 0)
sum = sum + (n Mod 10)
n = n \ 10
Wend
Text2.Text = sum
End Sub

Private Sub Command2_Click()


Text1.Text = " "
Text2.Text = " "
End Sub

OUTPUT
SUM OF N NUMBERS

3.MENU AND MDI FORMS


FORM DESIGN

CODINGS
Private Sub MDIForm_Load()
mnucolors.Enabled = True
End Sub

Private Sub mnublue_Click()


MDIForm1.ActiveForm.BackColor = vbBlue
End Sub

Private Sub mnucascade_Click()


MDIForm1.Arrange vbCascade
End Sub

Private Sub mnuexit_Click()


End
End Sub

Private Sub mnugreen_Click()


MDIForm1.ActiveForm.BackColor = vbGreen
End Sub

Private Sub mnuhorizontal_Click()


MDIForm1.Arrange vbHorizontal
End Sub

Private Sub mnured_Click()


MDIForm1.ActiveForm.BackColor = vbRed
End Sub

Private Sub mnushow_Click()


Form1.Show
Form2.Show
Form3.Show
End Sub

Private Sub mnuvertical_Click()


MDIForm1.Arrange vbVertical
End Sub

Private Sub mnuyellow_Click()


MDIForm1.ActiveForm.BackColor = vbYellow
End Sub

OUTPUT
MENU AND MDI FORMS

4. FILE LIST BOX, DIR LIST BOX AND DIRECTORY LIST BOX
FORM DESIGN

CODINGS
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()


Dir1.Path = Drive1.Drive
End Sub

OUTPUT DESIGN
5. COMMON DIALOG CONTROL
INPUT DESIGN

CODING
Dim a As String
Private Sub mnucolor_Click()
CD1.ShowColor
RTB.SelColor = CD1.Color
End Sub
Private Sub mnuext_Click()
End
End Sub
Private Sub mnufont_Click()
CD1.Flags = cdlCFBoth Or cdlcfleffects
CD1.ShowFont
RTB.SelBold = CD1.FontBold
RTB.SelItalic = CD1.FontItalic
RTB.SelUnderline = CD1.FontUnderline
RTB.SelFontSize = CD1.FontSize
End Sub
Private Sub mnunew_Click()
RTB.Text = &quot; &quot;
End Sub
Private Sub mnuopen_Click()
CD1.ShowOpen
a = CD1.FileName
RTB.LoadFile a
End Sub

Private Sub mnusave_Click()


CD1.ShowSave
a = CD1.FileName
RTB.SaveFile a
End Sub

OUTPUT DESIGN
6. ANIMATION USING TIMER CONTROL
INPUT DESIGN

CODING
Private Sub Timer1_Timer()
If Image1.Visible = True Then
Image2.Visible = True
Image3.Visible = False
Image1.Visible = False
ElseIf Image2.Visible = True Then
Image3.Visible = True
Image1.Visible = False
Image2.Visible = False
ElseIf Image3.Visible = True Then
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
End If
End Sub

OUTPUT DESIGN
7.NUMBER CONVERSION
INPUT DESIGN:
CODING
Dim a, b As Integer
Private Sub Command1_Click()
Text2.Text = " "
a = Val(Text1.Text)
Do
b = Val(a Mod 2)
a=a\2
Text2.Text = b & Text2.Text
Loop While a >= 1
End Sub
Private Sub Command2_Click()
a = Val(Text1.Text)
Text2.Text = Hex(a)
End Sub
Private Sub Command3_Click()
a = Val(Text1.Text)
Text2.Text = Oct(a)
End Sub
Private Sub Command4_Click()
End
End Sub

OUTPUT DESIGN:
ORACLE

1. EMPLOYEE DETAILS

SQL> CREATE TABLE EMPLOYEE (EMPNO NUMBER (5)


PRIMARY KEY, ENAME VARCHAR2 (20), EDESG VARCHAR2 (15),

GENDER VARCHAR2 (6), EAGE NUMBER (2), EDOJ DATE,

ESALARY NUMBER(10,2));

TABLE CREATED.
SQL> DESC EMPLOYEE;
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(5)
ENAME VARCHAR2(20)
EDESG VARCHAR2(15)
GENDER VARCHAR2(6)
EAGE NUMBER(2)
EDOJ DATE
ESALARY NUMBER(10,2)

SQL> INSERT INTO EMPLOYEE VALUES


(&EMPNO,'&ENAME','&EDESG','&EGENDER',&EAGE,'&EDOJ',&ESALARY);

Enter value for empno: 1

Enter value for ename : KANCHANA

Enter value for edesg : ENGINEER

Enter value for egender : FEMALE

Enter value for eage : 21

Enter value for edoj : 01-JUNE-2018

Enter value for salary : 20000

old 1: INSERT INTO EMPLOYEE VALUES


(&EMPNO,'&ENAME','&EDESG','&EGENDER',&EAGE,'&EDOJ',&ESALARY)
new 1: INSERT INTO EMPLOYEE VALUES
(1,'KANCHANA','ENGINEER','FEMALE',21,'01-JUNE-2018',20000)

1 row created.

SQL> SELECT * FROM EMPLOYEE;

EMPNO ENAME EDESG GENDER EAGE EDOJ


ESALARY
------------------------------------------------------------------------------------------------------
1 KANCHANA ENGINEER FEMALE 21 01-JUN-18 20000
2 SANTHOSHKUMAR DEVELOPER MALE 21 01-JUL-18 21000
3 SRIJA DESIGNER FEMALE 21 01-JUN-18 22000
4 VIGNESHKUMAR ANALYST MALE 21 01-JUL-18 25000
5 SATHISHKUMAR ANALYST MALE 21 01-JUN-18 22000
6 GIFTY ENGINEER FEMALE 21 01-AUG-18 21000
7 DURGA OPERATOR FEMALE 22 01-FEB-18 25000
8 SATHYARUBA TESTER FEMALE 22 01-FEB-18 24000
9 DINESHBABU DEVELOPER MALE 23 01-FEB-18 21000
10 KARTHIK ANALYST MALE 22 01-JAN-18 20000

COMAPRISION OPERATOR
SQL> SELECT * FROM EMPLOYEE WHERE ESALARY > 23000 AND

ESALARY < 26000;

EMPNO ENAME EDESG GENDER EAGEEDOJ


ESALARY
------------------------------------------------------------------------------------------------------
4 VIGNESHKUMAR ANALYST MALE 21 01-JUL-18 25000
7 DURGA OPERATOR FEMALE 22 01-FEB-18 25000
8 SATHYARUBA TESTER FEMALE 22 01-FEB-18 24000
LOGICAL OPERATOR
SQL> SELECT * FROM EMPLOYEE WHERE ENAME LIKE 'S%';
EMPNO ENAME EDESG GENDER EAGE EDOJ
ESALARY
------------------------------------------------------------------------------------------------------

2 SANTHOSHKUMAR DEVELOPER MALE 21 01-JUL-18 21000


3 SRIJA DESIGNER FEMALE 21 01-JUN-18 22000
8 SATHYARUBA TESTER FEMALE 22 01-FEB-18 24000
10 KARTHIK ANALYST MALE 22 01-JAN-18 20000

SORTING OPERATOR
SQL> SELECT * FROM EMPLOYEE ORDER BY ENAME DESC;
EMPNO ENAME EDESG GENDER EAGE EDOJ ESALARY
------------------------------------------------------------------------------------------------------

3 SRIJA DESIGNER FEMALE 21 01-JUN-18 22000


8 SATHYARUBA TESTER FEMALE 22 01-FEB-18 24000

10 KARTHIK ANALYST MALE 22 01-JAN-18 20000

2 SANTHOSHKUMAR DEVELOPER MALE 21 01-JUL-18 21000

5 SATHISHKUMAR ANALYST MALE 21 01-JUN-18 22000

7 DURGA OPERATOR FEMALE 22 01-FEB-18 25000

1 KANCHANA ENGINEER FEMALE 21 01-JUN-18 20000

9 DINESHBABU DEVELOPER MALE 23 01-FEB-18 21000

4 VIGNESHKUMAR ANALYST MALE 21 01-JUL-18 25000

6 GIFTY ENGINEER FEMALE 21 01-AUG-18 21000

10 rows selected.
GROUPING OPERATORS
SQL> SELECT ENAME, MIN(ESALARY) FROM EMPLOYEE GROUP BY
ENAME;
ENAME MIN(ESALARY)

-------------------- ------------------

GIFTY 21000

VIGNESHKUMAR 25000

JOTHIRAJAN 21000

KANCHANA 20000

DURGA 25000

SATHISHKUMAR 22000

SANTHOSHKUMAR 21000

KARTHIK 20000

SATHYARUBA 24000

SRIJA 22000

10 rows selected.
SET OPERATOR
SQL> CREATE TABLE EMPLOYEE1 AS SELECT * FROM EMPLOYEE;
Table created.
SQL> SELECT * FROM EMPLOYEE UNION SELECT * FROM EMPLOYEE1;

EMPNO ENAME EDESG GENDER EAGE EDOJ


ESALARY
------------------------------------------------------------------------------------------------------
1 KANCHANA ENGINEER FEMALE 21 01-JUN-18 20000
2 SANTHOSHKUMAR DEVELOPER MALE 21 01-JUL-18 21000
3 SRIJA DESIGNER FEMALE 21 01-JUN-18 22000
4 VIGNESHKUMAR ANALYST MALE 21 01-JUL-18 25000
5 SATHISHKUMAR ANALYST MALE 21 01-JUN-18 22000
6 GIFTY ENGINEER FEMALE 21 01-AUG-18 21000
7 DURGA OPERATOR FEMALE 22 01-FEB-18 25000
8 SATHYARUBA TESTER FEMALE 22 01-FEB-18 24000
9 DINESHBABU DEVELOPER MALE 23 01-FEB-18 21000
10 KARTHIK ANALYST MALE 22 01-JAN-18 20000
10 rows selected.

SQL> SELECT * FROM EMPLOYEE MINUS SELECT * FROM EMPLOYEE1;


no rows selected

2. INVENTORY MANAGEMENT QUERY


SQL> CREATE TABLE INVENTORY ( PRONO NUMBER(5,3),

PRONAME VARCHAR2(15), PRORATE NUMBER(5,2));

Table created.

SQL> INSERT INTO INVENTORY VALUES(&PRONO,'&PRONAME',&PRORATE);

Enter value for proid : 1

Enter value for proname : APPLE

Enter value for prorate : 15

old 1: INSERT INTO INVENTORY VALUES(&PRONO,'&PRONAME',&PRORATE)

new 1: INSERT INTO INVENTORY VALUES(1,'APPLE',15)

1 row created.
SQL> SELECT * FROM INVENTORY;

PRONO PRONAME PRORATE


---------------------------------------------------
1 APPLE 15
2 ORANGE 10
3 MANGO 9
4 BANANA 5
5 PINEAPPLE 20

“PRG3PLBLOCK.SQL”
DECLARE

I NUMBER;

CURSOR C IS SELECT * FROM INVENTORY;

BEGIN

FOR I IN C LOOP
I.PRORATE:=I.PRORATE*(20/100) + I.PRORATE;

UPDATE INVENTORY SET PRORATE = I.PRORATE WHERE


PRONO=I.PRONO;

END LOOP;

END;

SQL> @PRG3PLBLOCK.SQL;
PL/SQL procedure successfully completed.
SQL> SELECT * FROM INVENTORY;

PRONO PRONAME PRORATE


---------------------------------------------------
1 APPLE 18
2 ORANGE 12
3 MANGO 10.8
4 BANANA 6
5 PINEAPPLE 24
SQL> ALTER TABLE INVENTORY ADD (NUMOFITEM NUMBER (3));
Table altered.
SQL> SELECT * FROM INVENTORY;

PRONO PRONAME PRORATE NUMOFITEM


------------------------------------------------------------------------
1 APPLE 18
2 ORANGE 12
3 MANGO 10.8
4 BANANA 6
5 PINEAPPLE 24
SQL> UPDATE INVENTORY SET NUMOFITEM=5 WHERE PRONO=1;
1 row updated.
SQL> SELECT * FROM INVENTORY;

PRONO PRONAME PRORATE NUMOFITEM


------------------------------------------------------------------------
1 APPLE 18 5
2 ORANGE 12 10
3 MANGO 10.8 20
4 BANANA 6 7
5 PINEAPPLE 24 13

3.TRIGGERS
SQL> CREATE TABLE MASINVENTORY (PID NUMBER (3), PNAME
VARCHAR2 (15),PQTY NUMBER (5));

Table created.

SQL> INSERT INTO MASINVENTORY VALUES (&PID,'&PNAME',&PQTY);

Enter value for pid : 1

Enter value for pname: APPLE

Enter value for pqty : 20

old 1: INSERT INTO MASINVENTORY VALUES (&PID,'&PNAME',&PQTY)

new 1: INSERT INTO MASINVENTORY VALUES (1,'APPLE',20)

1 row created.

SQL> SELECT * FROM MASINVENTORY;

PID PNAME PQTY

----------------------------------------------------

1 APPLE 20

2 BANANA 30

3 ORANGE 50

4 PINEAPPLE 40

5 MANGO 57

SQL> CREATE TABLE TRANSINVENTORY (PID NUMBER (3),

PNAME VARCHAR2 (15), PQTY NUMBER


(5));

Table created.

“PRG5TRIG.SQL”
CREATE OR REPLACE TRIGGER CHECKVAL BEFORE INSERT ON

TRANSINVENTORY FOR EACH


ROW

BEGIN

IF ((:NEW.PQTY <=0) OR (:NEW.PQTY > 300)) THEN

RAISE_APPLICATION_ERROR (-20011,'CHECK YOUR QUANTITY');

ELSE

DBMS_OUTPUT.PUT_LINE ('RECORD INSERTED');

END IF;

END;

SQL> @PRG5TRIG.SQL;

Trigger created.

SQL> INSERT INTO TRANSINVENTORY VALUES (&PID,'&PNAME',&PQTY);

Enter value for pid : 1

Enter value for pname: APPLE

Enter value for pqty : 0

old 1: INSERT INTO TRANSINVENTORY VALUES (&PID,'&PNAME',&PQTY)

new 1: INSERT INTO TRANSINVENTORY VALUES (1,'APPLE',0)

INSERT INTO TRANSINVENTORY VALUES (1,'APPLE',0)

ERROR at line 1:

ORA-20011: CHECK YOUR QUANTITY

ORA-06512: at "TEST01.CHECKVAL", line 3

ORA-04088: error during execution of trigger 'TEST01.CHECKVAL'


SQL> SELECT * FROM TRANSINVENTORY;

no rows selected

SQL> INSERT INTO TRANSINVENTORY VALUES (&PID,'&PNAME',&PQTY);

Enter value for pid : 1

Enter value for pname: APPLE

Enter value for pqty : 20

old 1: INSERT INTO TRANSINVENTORY VALUES (&PID,'&PNAME',&PQTY)

new 1: INSERT INTO TRANSINVENTORY VALUES (1,'APPLE',20)

RECORD INSERTED

1 row created.

SQL> SELECT * FROM TRANSINVENTORY;

PID PNAME PQTY

----------------------------------------------------

1 APPLE 20
4.PROCEDURES

Step 1 : Creating table


> create table tbmarks
(rno number(3),name varchar(15),mark1 number(3),mark2 number(3),
total number(3),AVERAGE number(5,2),result varchar(10));
--------------------------------------------------------------------------------------
Step 2 : Creating procedure for Insertinn records in tbmarks table

>create or replace procedure prmarksins(prno in number,pname in varchar,


pmark1 in number,pmark2 in number)
is
vtotal number;
vaverage number;
vresult varchar(10);
begin
vtotal:=pmark1+pmark2;
vaverage:=vtotal/2;
if(pmark1>=40 and pmark2>=40) then
vresult:='Pass';
else
vresult:='Fail';
end if;
insert into tbmarks values(prno,pname,pmark1,pmark2,vtotal,vaverage,vresult);
commit;
end;
--------------------------------------------------------------------------------
Step 3: To Run the Procedure
SQL> exec prmarksins(1,'KING',89,90);
PL/SQL procedure successfully completed.
SQL> exec prmarksins(2,'SCOTT',39,56);
PL/SQL procedure successfully completed.

SQL> select * from tbmarks;

RNO NAME MARK1 MARK2 TOTAL AVERAGE RESULT


---------- --------------- ---------- ---------- ---------- ---------- ----------
1 KING 89 90 179 89.5 Pass
2 SCOTT 39 56 95 47.5 Fail

-------------------------------------------------------------------------------------------
Step 4 : Creating Procedure for Modifying records
>create or replace procedure prmarksupd(prno in number,
pmark1 in number,pmark2 in number)
is
vtotal number;
vaverage number;
vresult varchar(10);
begin
vtotal:=pmark1+pmark2;
vaverage:=vtotal/2;
if(pmark1>=40 and pmark2>=40) then
vresult:='Pass';
else
vresult:='Fail';
end if;
update tbmarks set mark1=pmark1,mark2=pmark2,total=vtotal,average=vaverage,
result=vresult where rno=prno;
commit;
end;
----------------------------------------------------------------------------------------------------------------
---
Step 5 :
SQL> select * from tbmarks;

RNO NAME MARK1 MARK2 TOTAL AVERAGE RESULT


---------- --------------- ---------- ---------- ---------- ---------- ----------
1 KING 89 90 179 89.5 Pass
2 SCOTT 39 56 95 47.5 Fail

SQL> exec prmarksupd(2,55,56);

PL/SQL procedure successfully completed.

SQL> select * from tbmarks;

RNO NAME MARK1 MARK2 TOTAL AVERAGE RESULT


---------- --------------- ---------- ---------- ---------- ---------- ----------
1 KING 89 90 179 89.5 Pass
2 SCOTT 55 56 111 55.5 Pass
----------------------------------------------------------------------------------------------------------------
----
Step 6: Creating Procedure for deleting the record in TBMARKS table

>create or replace procedure prmarksdel(prno in number)


is
begin
delete from tbmarks where rno=prno;
commit;
end;

SQL> select * from tbmarks;

RNO NAME MARK1 MARK2 TOTAL AVERAGE RESULT


---------- --------------- ---------- ---------- ---------- ---------- ----------
1 KING 89 90 179 89.5 Pass
2 SCOTT 55 56 111 55.5 Pass

SQL> exec prmarksdel(2);

PL/SQL procedure successfully completed.

SQL> select * from tbmarks;

RNO NAME MARK1 MARK2 TOTAL AVERAGE RESULT


---------- --------------- ---------- ---------- ---------- ---------- ----------
1 KING 89 90 179 89.5 Pass
5. STUDENT DATABASE

SQL> CREATE TABLE STUDENT (RNO NUMBER (3), NAME


VARCHAR2 (15), VB NUMBER (3), RDBMS NUMBER (3), PHP

NUMBER (3), TOTAL NUMBER (3), RESULT VARCHAR2 (4));

Table created.
SQL> CREATE TABLE STUDPASS AS (SELECT * FROM STUDENT);
Table created.
SQL> CREATE TABLE STUDFAIL AS(SELECT * FROM STUDENT);
Table created.
SQL> INSERT INTO STUDENT

VALUES(&RNO,'&NAME',&VB,&RDBMS,&PHP,NULL,NULL);

Enter value for rno : 1


Enter value for name : SRIJA
Enter value for vb : 98
Enter value for rdbms : 98
Enter value for php : 87
old 1: INSERT INTO STUDENT
VALUES(&RNO,'&NAME',&VB,&RDBMS,&PHP,NULL,NULL)
new 1: INSERT INTO STUDENT VALUES(1,'SRIMATHI',98,98,87,NULL,NULL)
1 row created.
SQL> SELECT * FROM STUDENT;

RNO NAME VB RDBMS PHP TOTAL RESULT


----------------------------------------------------------------------------------------------------
1 SRIJA 98 98 87
2 HARIPRIYA 87 89 90
3 PRIYA 98 87 98
4 KRISHNAN 35 78 87
5 GOKUL 78 35 98
6 RAJA 87 98 38
6 rows selected.
SQL> UPDATE STUDENT SET TOTAL=VB+RDBMS+PHP;
6 rows updated.
SQL> SELECT * FROM STUDENT;
RNO NAME VB RDBMS PHP TOTAL RESULT
----------------------------------------------------------------------------------------------------
1 SRIJA 98 98 87 283
2 HARIPRIYA 87 89 90 266
3 PRIYA 98 87 98 283
4 KRISHNAN 35 78 87 200
5 GOKUL 78 35 98 211
6 RAJA 87 98 38 223
6 rows selected.
SQL> UPDATE STUDENT SET RESULT='PASS' WHERE VB >= 40 AND

RDBMS >=40 AND PHP>=40;

3 rows updated.
SQL> SELECT * FROM STUDENT;

RNO NAME VB RDBMS PHP TOTAL RESULT


----------------------------------------------------------------------------------------------------
1 SRIJA 98 98 87 283 PASS
2 HARIPRIYA 87 89 90 266 PASS
3 PRIYA 98 87 98 283 PASS
4 KRISHNAN 35 78 87 200 PASS
5 GOKUL 78 35 98 211 PASS
6 RAJA 87 98 38 223 PASS
6 rows selected.
SQL> UPDATE STUDENT SET RESULT='FAIL' WHERE VB < 40 OR RDBMS < 40
OR PHP < 40;

3 rows updated.
SQL> SELECT * FROM STUDENT;

RNO NAME VB RDBMS PHP TOTAL RESULT


----------------------------------------------------------------------------------------------------
1 SRIJA 98 98 87 283 PASS
2 HARIPRIYA 87 89 90 266 PASS
3 PRIYA 98 87 98 283 PASS
4 KRISHNAN 35 78 87 200 FAIL
5 GOKUL 78 35 98 211 FAIL
6 RAJA 87 98 38 223 FAIL
6 rows selected.
SQL> SELECT * FROM STUDPASS;
no rows selected
SQL> SELECT * FROM STUDFAIL;
no rows selected
“P4PLBLOCK.SQL”
DECLARE

CURSOR C IS SELECT * FROM STUDENT;

R STUDENT%ROWTYPE;

BEGIN

OPEN C;

LOOP

FETCH C INTO R;

EXIT WHEN C%NOTFOUND;

IF R.RESULT='PASS' THEN

INSERT INTO STUDPASS (SELECT * FROM STUDENT

WHERE RNO = R.RNO);

ELSE
INSERT INTO STUDFAIL (SELECT * FROM STUDENT

WHERE RNO = R.RNO);

END IF;

END LOOP;

CLOSE C;

END;

SQL> @P4PLBLOCK.SQL;
PL/SQL procedure successfully completed.
SQL> SELECT * FROM STUDPASS;
RNO NAME VB RDBMS PHP TOTAL RESULT
----------------------------------------------------------------------------------------------------
1 SRIJA 98 98 87 283 PASS

2 HARIPRIYA 87 89 90 266 PASS

3 PRIYA 98 87 98 283 PASS

SQL> SELECT * FROM STUDFAIL;


RNO NAME VB RDBMS PHP TOTAL RESULT
----------------------------------------------------------------------------------------------------
4 KRISHNAN 35 78 87 200 FAIL

5 GOKUL 78 35 98 211 FAIL

6 RAJA 87 98 38 223 FAIL

You might also like