2016-11-23 3 views
0

Я хочу создать процедуру, которая удалит сотрудник с наибольшей зарплатой . У меня есть этот код:Ошибка при создании процедуры Oracle SQL

create or replace procedure DelMostExpensive 
as 
begin 
delete from hr.Employees where 
hr.Employees.EmpName= 
(select EmpName from hr.Employees where 
salary = (select max(salary) from hr.Employees)) 
and hr.Employees.birthDate= 
(select birthDate from hr.Employees where 
salary = (select max(salary) from hr.Employees)); 
end; 

Но я получаю эти ошибки: Error (4,1): PL/SQL: SQL заявление проигнорировано. Ошибка (4,16): PL/SQL: таблица или представление Ora-00942 не существует. Как заставить его работать?

ответ

1

Посмотрите на линии 4:

delete from hr.Almalmazott2 where

Вы знаете, что таблица, которую вы пытаетесь удалить из? Это выглядит как столбец таблицы.

+0

nope и жаль, что я забыл перевести. hr - это схема, hr.Employees - это сама таблица. – agiro

+0

Хорошо, вы можете «desc fr.Employees»? –

+0

Я. Я вижу имя, зарплату, работу, все прочее. – agiro