Могу ли я перезаписать параметр IN в хранимой процедуре MySQL - PullRequest
0 голосов
/ 11 марта 2019

Можно ли перезаписать параметры IN в хранимой процедуре MySQL?

То есть я могу сделать что-то вроде:

create procedure proc1 (IN p_parm1 int)
begin
  if p_parm1 is null then
    **set p_parm1 = -1;**
  end if
end $$

1 Ответ

0 голосов
/ 11 марта 2019

Вы должны были проверить это сами так:

mysql> create procedure proc1 (IN p_parm1 int) begin
 if p_parm1 is null then
   set p_parm1 = -1;
 end if; 
 select p_parm1;
end$$
Query OK, 0 rows affected (0.02 sec)

mysql> call proc1(123)$$
+---------+
| p_parm1 |
+---------+
|     123 |
+---------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql> call proc1(null)$$
+---------+
| p_parm1 |
+---------+
|      -1 |
+---------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Таким образом, ответ - да, вы можете изменить значение входа. В вашем примере вы фактически присваиваете входному аргументу значение по умолчанию, если оно пустое.

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