sql - PL/SQL 错误:ORA-00984 此处不允许列
问题描述
我正在编写一个用于循环的游标,以从表 A 中检索部分数据并将其插入到表 B 中。当我运行我的代码时,我收到此错误:
这是我正在使用的代码:
CREATE TABLE New_Movie (
ID INTEGER NOT NULL,
title VARCHAR2(100),
yr NUMBER(4,0),
score NUMBER,
votes INTEGER,
director VARCHAR2(100),
CONSTRAINT New_Movie_PK PRIMARY KEY (id));
DECLARE
counter INTEGER;
CURSOR c_movie IS
SELECT ID, title, yr, score, votes, director
from movie
where votes >= 50000;
BEGIN
counter := 0;
for n_movie IN c_movie
LOOP
counter := counter+1;
dbms_output.put_line(counter|| 'rows have been inserted');
INSERT INTO New_Movie VALUES(id, title, yr, score, votes, director);
END LOOP;
EXECUTE IMMEDIATE 'COMMIT';
END;
解决方案
你能试试这个吗
INSERT INTO New_Movie
VALUES(n_movie .id,
n_movie.title,
n_movie.yr,
n_movie.score,
n_movie.votes,
n_movie.director);
推荐阅读
- r - 更改数据顺序数据框 R
- android - Android Jwplayer:发出非法状态异常
- c++ - 为什么 TinyXML2 的 XMLDocument::FirstChild() 函数在尝试解析这个有效的 XML 文件时返回 NULL?
- python - Python在子进程退出时执行函数
- ios - 消耗品 IAP 偶尔不会提供奖励,并且消耗品促销代码根本不起作用
- saml - Keycloak“处理身份提供者的身份验证请求时出现意外错误”
- r - 如何通过将列与另一个 data.frame 中的列进行比较来从 data.frame 创建子集?
- bash - 如何使用 bash 变量来保存 find 的 printf 语句的格式
- performance - Web Assembly (Wasm),垃圾回收
- python - 保存从数组中删除的数字的位置