我们需要 INSERT 或 UPDATE 表的数据 advisor_skill ,创建所需的函数、程序……接受任务的顾问 ID、技能 ID 和认证状态。该程序应该足够用户友好,以处理所有可能的错误,例如顾问 ID、技能 ID 不存在或认证状态不同于“Y”、“N”。确保显示:顾问姓氏、名字、技能描述和执行的 DML 确认(提示:不要忘记在过程中添加 COMMIT)
CREATE OR replace PROCEDURE nw (p_c_id NUMBER,
p_s_id NUMBER,
p_certification VARCHAR2)
AS
v_c_id NUMBER := p_c_id;
v_s_id NUMBER := p_s_id;
v_certification VARCHAR2(20);
flag NUMBER(3);
BEGIN
SELECT count(*)
INTO flag
FROM consultant_skill
WHERE c_id = v_c_id
AND skill_id = v_s_id;
dbms_output.Put_line (flag);
IF flag > 0 THEN
UPDATE consultant_skill
SET skill_id = p_s_id,
certification = p_certification
WHERE c_id = v_c_id;
ELSE
dbms_output.Put_line ('bye bye');
END IF;
END;
/
卡在更新本身..尚未尝试在其他块中插入..首先尝试更新部分..不知道它是否是写的
但是在编译 samd 时,它显示 ora 00001: 违反了唯一约束