【发布时间】:2021-09-03 20:27:41
【问题描述】:
伙计们,我收到错误,PL/SQL: ORA-00947: no enough values while running my code.
declare
type e_type is record ( last_name employees.last_name%type,
email employees.email%type,
hire_date employees.hire_date%type,
job_id employees.job_id%type);
type e_list is table of e_type index by pls_integer;
emps e_list;
begin
for x in 100 .. 110 loop
select last_name,email,hire_date,job_id into emps(x) from employees
where employee_id = x ;
---dbms_output.put_line(emps(x).email);
insert into emp(last_name,email,hire_date,job_id) values emps(x);
end loop;
end;
【问题讨论】:
-
不是说问题出在哪一行吗?
-
stackoverflow.com/search?q=PL%2FSQL+ORA-00947 一个,但无论如何你应该在你的问题中包含一个minimal reproducible example。作为这里的新用户,也请带上tour并阅读How to Ask。
-
请编辑问题并显示表格定义
-
我的表 -EMPLOYEE_ID NUMBER(6),FIRST_NAME VARCHAR2(20),LAST_NAME NOT NULL VARCHAR2(25),EMAIL NOT NULL VARCHAR2(25),PHONE_NUMBER VARCHAR2(20),HIRE_DATE NOT NULL DATE, JOB_ID NOT NULL VARCHAR2(10), SALARY NUMBER(8,2) , COMMISSION_PCT NUMBER(2,2), MANAGER_ID NUMBER(6) , DEPARTMENT_ID NUMBER(4),
-
它的第 13 行,我试图将选定的列从一个表插入另一个表。当我选择所有列并尝试将它们从一个表插入到另一个表时。它允许我这样做,但是当我使用选定的列时,它会给我错误。两个表结构都是相同的,因为我使用 as 关键字创建表并通过取其新名称复制同一个表