Я относительно новичок в Oracle SQL, и у меня есть задание для курса приложений баз данных, который я прохожу, где часть задания состоит в передаче некоторых данных (empno, Bonus_date, job, sal и comm) из одной таблицы в другую с использованием SQL в командной строке.
Для передачи данных я использую подзапросы, а также функцию to_date() (в присваиваниях указано вставлять текущую дату в новую таблицу по мере ее добавления в дополнение к данным из старой таблицы), но продолжайте получать следующую ошибку:
ERROR at line 2:
ORA-01427: single-row subquery returns more than one row
Я отправил электронное письмо своему профессору, который предположил, что ошибка могла быть результатом лишнего пробела в моей функции to_date(), но после ее изменения ошибка все еще сохраняется.
Я также пытался изменить форматирование подзапросов, но тоже безрезультатно. Вот две таблицы, с которыми я работаю (emp — старая таблица, а emp_hist — новая таблица):
Таблица emp (старая):
desc emp;
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME CHAR(10)
JOB CHAR(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)
Таблица emp_hist (новая):
desc emp_hist;
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
BONUS_DATE NOT NULL DATE
JOB CHAR(9)
SAL NUMBER(7,2)
COMM NUMBER(7,2)
Вот запросы (и сообщения об ошибках), которые я использовал и получал:
SQL> insert into emp_hist(empno,bonus_date,job,sal,comm)
2 values((select empno from emp),(to_date('10/05/2015','mm/dd/yyyy')),
3 (select job from emp),(select sal from emp),(select comm from emp));
values((select empno from emp),(to_date('10/05/2015','mm/dd/yyyy')),
*
ERROR at line 2:
ORA-01427: single-row subquery returns more than one row
Любое понимание этого будет с благодарностью! Если нужна дополнительная информация, пожалуйста, дайте мне знать, и я сделаю все возможное, чтобы предоставить ее!
Спасибо!