Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
05.06.2015
Размер:
385 Кб
Скачать

Раздел 6 Другие объекты базы данных

6.1. Последовательности SEQUENCE

Q6_1

SQL> create sequence DEPTNO_seq

increment by 10

start with 10

maxvalue 10000;

Sequence created.

Q6_2

Генерация очередного значения последовательности

SQL> select DEPTNO_seq.nextval from dual;

NEXTVAL

---------

10

Q6_3

Выбор очередного и текущего значения последовательности в одной SQL команде

SQL> select DEPTNO_seq.nextval,

DEPTNO_seq.currval from dual;

NEXTVAL CURRVAL

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

  1. 20

Q6_4

Изменение параметров последовательности

SQL> alter sequence DEPTNO_seq

increment by 5

maxvalue 1000;

Sequence altered.

Q6_5

Удаление последовательности

SQL> drop sequence DEPTNO_seq;

Sequence dropped.

6.2. Создание представления с ограничением применяемых к нему команд INSERT и UPDATE

Q6_6

SQL> create view d10emp as

select EMPNO,ename,DEPTNO

from EMP

where DEPTNO=10

with check option constraint d10emp_invalid;

View created.

SQL> select * from d10emp;

EMPNO ENAME DEPTNO

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

7839 KING 10

7782 CLARK 10

7934 Miller 10

Q6_7

Создание представления с запретом изменений данных через него

SQL> create view emp_DEPTNO as

select EMPNO,ename,job,mgr,sal,d.DEPTNO,dname

from EMP e, DEPTNO d

where e.DEPTNO(+) = d.DEPTNO

with read only;

View created.

SQL> select * from emp_DEPTNO;

EMPNO ENAME JOB MGR SAL DEPTNO DNAME

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

7839 KING PRESIDENT 5000 10 ACCOUNTING

7782 CLARK MANAGER 7839 2450 10 ACCOUNTING

7934 MILLER CLERK 7782 1300 10 ACCOUNTING

7566 JONES MANAGER 7839 2975 20 RESEARCH

7788 SCOTT ANALYST 7566 3000 20 RESEARCH

7876 ADAMS CLERK 7788 1100 20 RESEARCH

7369 SMITH CLERK 7902 800 20 RESEARCH

7902 FORD ANALYST 7566 3000 20 RESEARCH

7658 BUGSON ANALYST 7566 3000 20 RESEARCH

7698 BLAKE MANAGER 7839 2850 30 SALES

7654 MARTIN SALESMAN 7698 1250 30 SALES

7499 ALLEN SALESMAN 7698 1600 30 SALES

7844 TURNER SALESMAN 7698 1500 30 SALES

7900 JAMES CLERK 7698 950 30 SALES

7521 WARD SALESMAN 7698 1250 30 SALES

8000 COOPER MANAGER 2300 40 OPERATIONS