oracle - PL/SQL 语句被忽略,SQL 语句被忽略
问题描述
我正在尝试使用 tomcat 8.5 构建网络。并将数据库也与它连接起来。
我已经使用 SQL 定义了该过程,以便将一些数据从 Web 插入到数据库中。
CREATE OR REPLACE PROCEDURE applyInsert02(cid IN VARCHAR2
,cidno IN NUMBER
,sid IN VARCHAR2
,aid IN VARCHAR2
,weeknum IN VARCHAR2
,pstatus IN VARCHAR2
,isprocessed IN VARCHAR2
,result OUT VARCHAR2)
IS
nCnt NUMBER;
BEGIN
result:='';
INSERT INTO processed (c_id
,c_id_no
,s_id
,a_id
,week_num
,p_status
,is_processed)
values (cid
,cidno
,sid
,aid
,weeknum
,p_status
,isprocessed);
COMMIT;
result:="done.";
END;
这就是我事先制作 PROCESSED 实体的方式。
CREATE TABLE processed(c_id VARCHAR2(10)
,c_id_no NUMBER(1)
,s_id VARCHAR2(10)
,a_id VARCHAR2(10)
,week_num VARCHAR2(10)
,p_status VARCHAR2(10)
,is_processed VARCHAR2(10)
,CONSTRAINT pro_pk PRIMARY KEY (c_id,c_id_no,s_id,a_id)
,CONSTRAINT p_a_id_fk FOREIGN KEY (s_id,c_id,c_id_no,a_id) REFERENCES attendance(s_id,c_id,c_id_no,a_id)
);
这是我遇到的错误:
8/1 PL/SQL:忽略 SQL 语句
8/119 PL/SQL:ORA-00984:
10/1 PL/SQL:忽略语句
它告诉我行和列,但我无法弄清楚问题出在哪里。
解决方案
两个错误:
weeknum,
pstatus, --> not p_status
isprocessed
);
COMMIT;
result := 'done.'; --> single quotes, not double
END;
/
推荐阅读
- python - 最快的 Pythonic 方法来遍历字典以创建新的 Pandas 列
- node.js - 使用 GraphQL 设置订阅问题
- javascript - AWS DynamoDB 扫描 | 扫描地图中是否存在键数组
- python-2.7 - 散景删除 div 小部件之间的垂直空间
- java - Spring Data Rest 投影中缺少链接
- docker - docker-compose 在 Alpine 容器内
- python - 如何添加另一个类并使其跟随玩家?(在 PyGame 中)
- java - 应该只匹配数字、点和逗号的值
- php - sending message to slack channel using PHP/Guzzle prints "Array"
- json - 使用正确的引号从 Bigquery 导出表中的 JSON 值