Базы данных Oracle - статьи

         

Подготовка таблиц


Создадим таблицу должностей, добавим в таблицу сотрудников ссылку, при том что столбец с названием должности оставим до будущего перехода на новую редакцию приложения. Выполним в SQL*Plus: CONNECT yard/pass CREATE TABLE job ( jobid NUMBER ( 2 ) PRIMARY KEY , jname VARCHAR2 ( 9 ) , maxsal NUMBER ( 7, 2 ) ); INSERT INTO job ( jobid, jname, maxsal ) VALUES ( 1, 'ANALYST', 3500 ); INSERT INTO job ( jobid, jname, maxsal ) VALUES ( 2, 'CLERK', 2000 ); INSERT INTO job ( jobid, jname, maxsal ) VALUES ( 3, 'MANAGER', 3000 ); INSERT INTO job ( jobid, jname, maxsal ) VALUES ( 4, 'PRESIDENT', 6000 ); INSERT INTO job ( jobid, jname, maxsal ) VALUES ( 5, 'SALESMAN', 2000 );

ALTER TABLE emp ADD ( jobno NUMBER ( 2 ) REFERENCES job ( jobid ) );

UPDATE emp SET jobno = ( SELECT jobid FROM job WHERE jname = emp.job );

Переименуем таблицу сотрудников, и отдадим ее старое имя двум редакциям представлений: ALTER TABLE emp RENAME TO emp_tab;

ALTER SESSION SET EDITION = ora$base;

CREATE OR REPLACE EDITIONING VIEW emp AS SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM emp_tab ; GRANT INSERT, UPDATE, DELETE, SELECT ON emp TO scott;

ALTER SESSION SET EDITION = app_release_1;

CREATE OR REPLACE EDITIONING VIEW emp AS SELECT empno, ename, jobno, mgr, hiredate, sal, comm, deptno FROM emp_tab ; GRANT INSERT, UPDATE, DELETE, SELECT ON emp TO scott;



Содержание раздела