--Student(id, company) Table schema
create or replace procedure student_update(
v_company IN VARCHAR2(10),
v_id IN NUMBER
)
IS
BEGIN
update student set company=v_company where id=v_id;
commit;
END student_update;
/
错误:遇到符号'('期望下列之一
答案 0 :(得分:0)
需要更改参数的dataType
create or replace procedure student_update(
v_company IN student.company%TYPE,
v_id IN student.id%TYPE
)
IS
BEGIN
update student set company=v_company where id=v_id;
END;
/
这很好用。
答案 1 :(得分:0)
你不能给你一个长度的参数。如果您确实需要将v_company限制为10,则可以在过程中进行长度检查。
您也可以考虑使用Native Dynamic SQL。您可能会直接从输入中运行代码。
CREATE OR REPLACE PROCEDURE student_update
(
v_company IN VARCHAR2
,v_id IN NUMBER
) IS
BEGIN
IF LENGTH(v_company) > 10 THEN
raise_application_error(-20001, 'Company must be 10 Char or less.');
END IF;
UPDATE student SET company = v_company WHERE ID = v_id;
COMMIT;
END student_update;
/