MySQL: выбор нескольких полей в несколько переменных в хранимой процедуре
могу ли я выбрать несколько столбцов в несколько переменных в одном запросе select в MySQL?
например:
DECLARE iId INT(20);
DECLARE dCreate DATETIME;
SELECT Id INTO iId, dateCreated INTO dCreate
FROM products
WHERE pName=iName;
каков правильный синтаксис для этого?
3 ответа:
код синтаксис не совсем верно: вам нужно перечислить поля в порядке перед INTO, а соответствующие целевые переменные после:
SELECT Id, dateCreated INTO iId, dCreate FROM products WHERE pName = iName
==========советую==========
@martin clayton ответ правильный, но это только Совет.
пожалуйста, избегайте использования неоднозначной переменной в хранимой процедуре.
пример :
SELECT Id, dateCreated INTO id, datecreated FROM products WHERE pName = iName
приведенный выше пример вызовет ошибку (ошибка нулевого значения)
пример, приведенный ниже, является правильным. Я надеюсь, что это имеет смысл.
пример :
SELECT Id, dateCreated INTO val_id, val_datecreated FROM products WHERE pName = iName
вы также можете сделать их однозначными, ссылаясь на таблица, например:
[ кредит : maganap]
SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p WHERE pName = iName