存储过程中的绑定变量错误-PL / SQL-Oracle

时间:2018-11-13 09:10:25

标签: sql oracle plsql

CREATE OR REPLACE PROCEDURE demoStoreProc
(
  stringNums IN VARCHAR2   
)
AS
  stepCount NUMBER;

BEGIN

SELECT REGEXP_COUNT (stringNums ,',')+1 INTO :stepCount FROM "SYS"."DUAL" ;

END 

因此在上述存储过程中,输入类似于

stringNums  = 12,13,14,15

在变量stepCount中,我想插入4,因为存在4个数字

但是我得到这个错误:

  

stepCount的绑定变量错误

1 个答案:

答案 0 :(得分:4)

您不需要选择

CREATE OR REPLACE PROCEDURE demostoreproc (
     stringnums IN VARCHAR2
) AS
     stepcount   NUMBER;
BEGIN
     stepcount := regexp_count(stringnums,',') + 1;
END;
/

但是,程序到底在做什么?

相反,您可能需要一个功能。

 CREATE OR REPLACE function demostoreproc (
     stringnums IN VARCHAR2
)  RETURN NUMBER AS
     stepcount   NUMBER;
BEGIN
     stepcount := regexp_count(stringnums,',') + 1;
     RETURN stepcount;
END;
/