【发布时间】:2019-01-31 17:01:55
【问题描述】:
我们需要 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;
/
卡在更新本身..尚未尝试在 else 块中插入..首先尝试更新部分..不知道它是否写入
但在编译 samd 时,它显示 ora 00001: 违反唯一约束
【问题讨论】:
-
您好,欢迎来到 SO。请花一些时间阅读tour,并发布minimal reproducible example。你的问题太笼统了。这里的人们希望看到对这个问题付出一定程度的努力。 SO 不是代码编写服务。谢谢。
-
嗨,我想帮助身体不适的人.. 我试过这样做.. 虽然我不是程序员
-
我可以分享我尝试过的写作
-
那么请编辑问题并插入代码,具体问题是什么。谢谢
-
已编辑,续后。经过两天的努力,我能够纠正此代码.. bt m 无法修复 updaye 查询.. 显示一些 ora 0001 错误
标签: sql oracle plsql plsql-package