尝试创建程序时出错,您认为这是为什么?
Error when trying to create procedure, why do you think that is?
所有。
我试过在 Oracle Apex 5 中创建过程。但是,我遇到了这个问题 'ORA-24344: success with compilation error'。我认为这是一个语法错误。你认为那是什么? *generate_password 是一个生成随机十六进制的工作函数 value/string.
CREATE OR REPLACE PROCEDURE add_user (firstname in varchar2(20), lastname in varchar2(20), email in varchar2(100), area in varchar2(50), privileges in varchar2(2))
AS
e varchar2(100);
BEGIN
e := generate_password;
insert into user_login (user_name, first_name, last_name, creation_date, last_update_date, user_privileges, user_pwd)
values ( email, firstname, lastname, SYSDATE, SYSDATE, privileges , e);
END add_user;
您正在尝试为 varchar2 输入参数设置最大长度 - 这不是有效的语法。
尝试:
CREATE OR REPLACE PROCEDURE add_user (firstname in varchar2, lastname in varchar2, email in varchar2, area in varchar2, privileges in varchar2)
不要定义过程的varchar2 参数的长度。简单写成没有大小的 VARCHAR2。
这是PL/SQL的语法。如果您考虑一下,它比定义从调用代码继承的缓冲区的长度更有意义。
伙计,你应该再读一遍 PLSQL 文档。
- 您不需要在存储过程中指定参数的长度。
- Oracle 建议在子程序中使用引用参数 Like "p_empid employees.employee_id%TYPE".
所有。
我试过在 Oracle Apex 5 中创建过程。但是,我遇到了这个问题 'ORA-24344: success with compilation error'。我认为这是一个语法错误。你认为那是什么? *generate_password 是一个生成随机十六进制的工作函数 value/string.
CREATE OR REPLACE PROCEDURE add_user (firstname in varchar2(20), lastname in varchar2(20), email in varchar2(100), area in varchar2(50), privileges in varchar2(2))
AS
e varchar2(100);
BEGIN
e := generate_password;
insert into user_login (user_name, first_name, last_name, creation_date, last_update_date, user_privileges, user_pwd)
values ( email, firstname, lastname, SYSDATE, SYSDATE, privileges , e);
END add_user;
您正在尝试为 varchar2 输入参数设置最大长度 - 这不是有效的语法。
尝试:
CREATE OR REPLACE PROCEDURE add_user (firstname in varchar2, lastname in varchar2, email in varchar2, area in varchar2, privileges in varchar2)
不要定义过程的varchar2 参数的长度。简单写成没有大小的 VARCHAR2。
这是PL/SQL的语法。如果您考虑一下,它比定义从调用代码继承的缓冲区的长度更有意义。
伙计,你应该再读一遍 PLSQL 文档。
- 您不需要在存储过程中指定参数的长度。
- Oracle 建议在子程序中使用引用参数 Like "p_empid employees.employee_id%TYPE".