首页 > 解决方案 > 尝试执行更新过程但出现错误 - PL/SQL: ORA-00933:

问题描述

create or replace PROCEDURE update_con
(
    c_id in       lds_consultant.consultant_id%type,
    cation in        lds_consultant.location%type,
    s_area in lds_consultant.specialist_area%type
)
IS
BEGIN
UPDATE lds_consultant 
SET 
location = cation
specialist_area =  s_area
WHERE consultant_id = c_id;
END;

您好,我是 SQL 新手,我试图创建一个过程来更新指定的表,但由于某种原因它似乎不起作用。如果有人可以提供帮助,将不胜感激。

标签: sqloracleplsqlprocedures

解决方案


您的修饰符之间缺少逗号

CREATE OR REPLACE PROCEDURE update_con (
    c_id     IN lds_consultant.consultant_id%TYPE,
    cation   IN lds_consultant.location%TYPE,
    s_area   IN lds_consultant.specialist_area%TYPE)
IS
BEGIN
    UPDATE
           lds_consultant -- Your Table
       SET
           location = cation, -- comma-seperated list of modifiers
           specialist_area = s_area
     WHERE
           consultant_id = c_id -- condition to filter rows
       ;
END;

Ora-00933 的故障排除非常简单。检查您的错误告诉您的行。获取该语句并单独检查它:

UPDATE lds_consultant
   SET location = cation, specialist_area = s_area
 WHERE consultant_id = c_id;

推荐阅读