【发布时间】:2021-09-01 10:52:33
【问题描述】:
SET SERVEROUTPUT ON;
DECLARE
TYPE DEPTRECORD IS RECORD (
IDEPTNO NUMBER := &deptno,
SDEPTNAME VARCHAR2(150) := &deptname,
SDEPTLOC VARCHAR2(150) := &deptloc
);
DEP_REC DEPTRECORD;
BEGIN
Insert into department(deptno,deptname,deptloc) values(&deptno,'&deptname','&deptloc');
commit;
END;
【问题讨论】:
-
您还没有说您遇到了什么问题 - 尽管有一些相当明显的问题。但是为什么要使用 PL/SQL 和记录类型 - 仅运行
insert似乎就足够了? (假设您使用的客户端可以理解并提示替换变量;您已经标记了两个客户端...) -
@AlexPoole 是的,我可以直接插入,但我想以我编码的方式进行。你能否让我知道出了什么问题。因为它抛出一个错误。我想接受来自用户的值,并希望将记录插入到部门表(具有 deptno、deptname、deptloc)列中。
-
请至少在您的问题中包含完整的错误消息。插入本身将接受用户的值 - 这是专门为插入使用记录的分配吗?
-
是的@AlexPoole。错误就像我所说的 Deptname 为“销售”,因此必须声明其抛出的错误标识符“销售”
-
@AlexPoole 这是问题: