Oracle SQL过程-REGEX中的错误绑定变量

时间:2018-11-20 12:44:43

标签: sql regex oracle

我有一个Oracle SQL过程,该过程在编译时给出Bad bind variable 'VNAME1'错误。想法是在REGEX查询中传递item.tempid2的值。

以下步骤:

   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 :(得分:-1)

您应该在USING vname1语句的末尾添加一个SELECT子句。