Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синтаксис хранимых процедур. / 3 сообщений из 3, страница 1 из 1
02.06.2017, 18:50
    #39464955
da17
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис хранимых процедур.
Подскажите пожалуйста, операция
Код: sql
1.
SET a = 1;


эквивалентна
Код: sql
1.
a:=1;


Если я правильно понял, все это можно делать исключительно внутри процедуры, при этом переменная a, должна быть обязательно объявлена.

Второй вопрос, что бы изменить исходящий параметр, он всегда должен передаваться как определенный пользователем с префиксом @
Код: sql
1.
CALL foo(@some_varible);


и зачем вообще что-то куда-то передавать если @some_varible можно изменить внутри процедуры
Код: sql
1.
2.
3.
4.
PROCEDURE foo()
BEGIN
SET @some_varible = 1;
END
...
Рейтинг: 0 / 0
02.06.2017, 20:00
    #39464988
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис хранимых процедур.
da17Если я правильно понял, все это можно делать исключительно внутри процедуры, при этом переменная a, должна быть обязательно объявлена.
Наоборот. Это переменная может быть объявлена только внутри блока. Процедуры, функции, триггера и пр. Отсюда следствие - такое присвоение сделать можно только внутри процедуры.

da17что бы изменить исходящий параметр, он всегда должен передаваться как определенный пользователем с префиксом @И тут всё с ног на голову... Передавать можно либо литерал (включая глобальную/сессионную переменную или вычисляемое выражение - и то, и другое передаётся по значению, т.е. тоже как литерал), либо пользовательскую переменную. Литерал изменять бессмысленно. Остаётся только пользователская переменная - а её имя обязано начинаться с символа "@".

da17зачем вообще что-то куда-то передавать если @some_varible можно изменить внутри процедуры
А если надо так:
Код: sql
1.
2.
3.
CALL foo(1,@variable1);
CALL foo(2,@variable2);
SELECT @variable1, @variable2;


?
...
Рейтинг: 0 / 0
03.06.2017, 10:52
    #39465106
da17
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис хранимых процедур.
Akina,
ок, спасибо.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синтаксис хранимых процедур. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]