Ошибка неверной привязки переменной в процедуре хранения - PL / SQL - Oracle - PullRequest
0 голосов
/ 13 ноября 2018
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 числа

Но я получаю эту ошибку:

Ошибка переменной Bad Bind для stepCount

1 Ответ

0 голосов
/ 13 ноября 2018

Вам не нужен этот выбор

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;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...