【发布时间】:2021-09-21 06:09:49
【问题描述】:
我正在尝试从 springboot 调用 PL/SQL 存储过程,这是我拥有的代码
CREATE OR REPLACE PROCEDURE ADMIN.RESTAR_SERVICIO(NUM_SUS IN NUMBER)
IS
SERVICIOS NUMBER;
SR NUMBER;
BEGIN
SELECT SERVICIOS_DISPONIBLES INTO SERVICIOS FROM SUSCRIPCION WHERE NUMERO_SUSCRIPCION=NUM_SUS;
SERVICIOS := SERVICIOS-1;
UPDATE SUSCRIPCION SET SERVICIOS_DISPONIBLES=SERVICIOS WHERE NUMERO_SUSCRIPCION=NUM_SUS;
SELECT SERVICIOS_DISPONIBLES INTO SR FROM SUSCRIPCION WHERE NUMERO_SUSCRIPCION=NUM_SUS;
DBMS_OUTPUT.PUT_LINE(NUM_SUS);
END RESTAR_SERVICIO;
@Procedure(value = "RESTAR_SERVICIO")
public void RESTAR_SERVICIO(@Param("NUM_SUS") Number NUM_SUS);
运行时出现此错误
PLS-00306:número o tipos de argumentos erróneos al llamar a 'RESTAR_SERVICIO' ORA-06550: 线 1, 列 7: PL/SQL:语句被忽略
【问题讨论】:
-
SO 是一个英文网站。请用英文显示错误信息。谢谢。或者试试es.stackoverflow.com
-
您对
Number有什么“导入”声明?你有import oracle.sql.Number;吗?如果不是,Number类型指的是java.lang.Number,这是错误的类型。添加oracle.sql.Number的导入。
标签: java oracle spring-boot plsql