Процедура Oracle SQL - неверная переменная привязки в REGEX - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть процедура Oracle SQL, которая дает ошибку Bad bind variable 'VNAME1' при компиляции.Идея состоит в том, чтобы передать значение item.tempid2 в запросе REGEX.

Процедура ниже:

   DECLARE
    anyexists varchar2(10);
    CURSOR c_length IS SELECT SUBSTR(first_name,1,1)||substr(last_name) as 
    tempid2, user_id, Custom_Unique_Name FROM PV_USERS;
    vname1 varchar(20);
    exec vname1:= NULL;
    BEGIN
        FOR item in c_length
            LOOP
                EXIT WHEN c_length%notfound;
                vname1:= item.tempid2;
                SELECT COUNT(*) INTO anyexists from (SELECT 
                Custom_Unique_Name from PV_USERS
                WHERE REGEXP_LIKE (Custom_Unique_Name, '^'|| :vname1 || 
                '[^A-Za-z][0-9]*')
                AND user_id <> item.user_id);
             END LOOP;
     END;

1 Ответ

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

Вы должны добавить предложение USING vname1 в конце вашего оператора SELECT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...