MySQL Процедура не может быть выполнена должным образом - PullRequest
0 голосов
/ 09 января 2020
CREATE PROCEDURE `userCredentialsWeight`(IN data1 varchar(50), IN data2 varchar(250))
BEGIN

    /* all declaration */

    IF (SELECT field1 FROM user_credentials WHERE field1 = data1 LIMIT 1 )
    THEN
        SET DATA_WEIGHT = 75;
    ELSE
        SET DATA_WEIGHT = 100;
    END IF;

    /* More calculations here */  ---> this block contains all the calculation,
 actually i am new to procedure, i have done this using 
direct query from application but it requires 4 database requests 
which I want to minimize here

END

Теперь моя проблема - состояние после того, ГДЕ не получается значение data1.

Платформа - Mysql (я использую MYSQL Workbench)

1 Ответ

0 голосов
/ 09 января 2020

Тест

SELECT CASE WHEN COUNT(*) = 0 
            THEN 100
            ELSE 75
            END
INTO data_weight 
FROM user_credentials
WHERE field1 = data1;
...