ACCEPT variable value from user input : Accept « SQL Plus « Oracle PL / SQL






ACCEPT variable value from user input

   


CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
                  ENAME VARCHAR2(10),
                  JOB VARCHAR2(9),
                  MGR NUMBER(4),
                  HIREDATE DATE,
                  SAL NUMBER(7, 2),
                  COMM NUMBER(7, 2),
                  DEPTNO NUMBER(2));

INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK',    7902, TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
INSERT INTO EMP VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
INSERT INTO EMP VALUES (7521, 'WARD',  'SALESMAN', 7698, TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER',  7839, TO_DATE('2-APR-1981',  'DD-MON-YYYY'), 2975, NULL, 20);
INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);
INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);

prompt C R E A T E   N E W   E M P L O Y E E   R E C O R D
prompt
prompt Enter the employee's information:
prompt
accept l_ename char format a10 prompt 'Last name: '
accept l_empno number format '9999' prompt 'Employee #: '
accept l_sal number format '99999.99' prompt 'Salary [1000]: ' default '1000.00'
accept l_comm number format '99999.99' prompt 'Commission % [0]: ' default '0'
accept l_hired date format 'mm/dd/yyyy' prompt 'Hire date (mm/dd/yyyy): '

prompt List of available jobs:
select distinct job
  from emp
 order by job
/
accept l_job char format a9 prompt 'Job: '

prompt List of managers and employee numbers:
select empno, ename
  from emp
 order by ename
/
accept l_mgr number format '9999' prompt 'Manager''s Employee #: '

prompt List of department numbers and names:
select deptno, dname
  from dept
 order by deptno
/
accept l_dept number format '99' prompt 'Department #: '

insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (&l_empno, '&l_ename', '&l_job', &l_mgr,
        to_date('&l_hired','mm/dd/yyyy'), &l_sal, &l_comm, &l_dept)
/

drop table emp;

   
    
  








Related examples in the same category

1.Use accept to get user input value and use them in a select statement
2.ACCEPT command creates a variable of datatype CHAR by default
3.Using the ACCEPT command
4.Read user input and use if to determine which table to print
5.Accept input and pass into a query
6.Read value from prompt and output with pl/sql