Initially create a student database table named student18 and then enter the values
then start
SQL> select * from student18;
then start
SQL> select * from student18;
ROLLNO NAME
SUBJECT SEMESTER
---------- ------------------------------
-------------------- ----------
2 SANKET2
WDP 2
3 SANKET3
DCN 2
4 SANKET4
MMC 2
SQL> desc student18;
Name
Null? Type
-----------------------------------------
-------- ----------------------------
ROLLNO
NUMBER(38)
NAME
CHAR(30)
SUBJECT
CHAR(20)
SEMESTER
NUMBER(38)
SQL> alter table student18
2 add (DOJ date);
Table altered.
SQL> create or replace trigger
trigstud
2 before insert
3 on student18
4 for each row
5 begin
6 if :new.doj > sysdate then
7 raise_application_error
8 (-20002,' Date of joining
cannot be after system date.');
9 end if;
10 end;
11 /
Trigger created.
SQL> save string18;
Created file string18.sql
SQL> desc student18;
Name
Null? Type
-----------------------------------------
-------- ----------------------------
ROLLNO
NUMBER(38)
NAME CHAR(30)
SUBJECT
CHAR(20)
SEMESTER
NUMBER(38)
DOJ
DATE
SQL> select sysdate from dual;
SYSDATE
---------
28-FEB-13
SQL> insert into student18
values(1,'sanket','dbms',2,'22-feb-2013');
1 row created.
SQL> insert into student18
values(5,'sanket5','dcn',2,'02-mar-2013');
insert into student18
values(5,'sanket5','dcn',2,'02-mar-2013')
*
ERROR at line 1:
ORA-20002: Date of joining cannot be after system date.
ORA-06512: at "SCOTT.TRIGSTUD",
line 3
ORA-04088: error during execution of
trigger 'SCOTT.TRIGSTUD'
SQL>
insert into student18 values(5,'sanket5','dcn',2,'02-feb-2013');
1 row created.
SQL> select * from student18;
ROLLNO NAME
SUBJECT SEMESTER
---------- ------------------------------
-------------------- ----------
DOJ
---------
2 SANKET2
WDP 2
3 SANKET3
DCN 2
4 SANKET4
MMC 2
ROLLNO NAME
SUBJECT SEMESTER
---------- ------------------------------
-------------------- ----------
DOJ
---------
1 sanket
dbms 2
22-FEB-13
5 sanket5
dcn 2
02-FEB-13
No comments:
Post a Comment