|  | 
Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Помогите разобраться, при создании функции "CREATE FUNCTION my_funct()"  тип возвращаемого результата может быть только скалярного типа или можно получить результат типа TABLE??  К примеру что бы можно было использовать "INSERT INTO x(y) SELECT  my_funct();" Процедуры в предложении SELECT на сколько я понимаю использовать нельзя. Не большой пример был бы кстати!
Неактивен

Нет, так сделать нельзя: функция возвращает только скалярные данные.
Более того, из процедуры Вы тоже так сделать не сможете. Но сможете
сделать соответствующие изменения прямо в теле процедуры (т.е. делать
сразу INSERT SELECT вместо простого SELECT).
Неактивен
Спасибо!
А в качестве входящего параметра для процедуры столбец таблицы или таблицу передать тоже нельзя??
К примеру следующий код :
    ->create procedure my_proc1(in y varchar(20))
    -> BEGIN
    -> insert into test(y) select z.x from z;
    -> END
при вызове: "CALL my_proc1(test_int)" 
выдает следующую ошибку : "ERROR 1054 (42S22): Unknown column 'test_int' in 'field list' "
Неактивен

Нет, так не получится. Можете передать название строкой, а внутри процедуры
обработать через подготовленные выражения (PREPARED STATEMENTS). Но опыт
показывает, что обобщенное программирование на SQL ни к чему хорошему не 
приводит 
Неактивен
На данный момент конкретных задач не стоит, просто разбираюсь с функциональностью mysql. Но в любом случае спасибо за ответы!
Неактивен