Я прочитал Oracle Language Reference и Там нет ничего об этой ситуации Так вот мы идем ...Возможно ли вставить новую строку в сложный вид, созданный из 2 таблиц?
Я закодирован сложный вид из 2-х таблиц:
CREATE OR REPLACE NOFORCE VIEW vw_emps_hist_50_b
AS
SELECT employee_id, first_name, last_name,
job_id, department_id
FROM employees_history
WHERE department_id = 50
UNION
SELECT employee_id, TO_CHAR(NULL), TO_CHAR(NULL),
job_id, department_id
FROM employees_history_2
WHERE department_id = 50
WITH CHECK OPTION;
Теперь я пытаюсь для ввода новой строки с использованием вида:
INSERT INTO vw_emps_hist_50_b
VALUES (2005, 'Dexter', 'Morgan', 'ST_CLERK', 50);
Error que empieza en la línea: 46 del comando -
INSERT INTO vw_emps_hist_50_b
VALUES (2005, 'Dexter', 'Morgan', 'ST_CLERK', 50)
Error en la línea de comandos : 46 Columna : 13
Informe de error -
Error SQL: ORA-01732: data manipulation operation not legal on this view
01732. 00000 - "data manipulation operation not legal on this view"
*Cause:
*Action:
Есть ли способ вставить эту строку в обе таблицы? или Могу ли я выбрать, какую таблицу я хочу вставить в эту новую строку?
Необходимо использовать пункт «UNION» – Rattlesnake
@GurV. , , Я предпочитаю 'cast (NULL как varchar2 (255))' или что-то в этом роде. Но он создает значение «NULL» с типом символьных данных. Да, 'NULL' может иметь тип. (Мне периодически напоминают об этом, когда я пытаюсь создать таблицу, используя запрос, который имеет только «NULL» в столбце.) –