0

こんにちは、私は mysql について暴力を振るったことはありませんが、今回はそれをもっと使いたいと思っています。そのため、次のような関数があればいいと考えていました: レコード セットを返す。出来そう!? それが私がしたことです。唯一のことは、エラーが発生したことです

-->ERROR 1415 not allowed to return a result set from a function;

:$

つまり、mysql を使用してテキストを xml にフォーマットしたい場合を除き、これはあまり実用的ではないと考えるのはおかしいということです。私の期待は mysql の範囲内にあるように思われるので、誰かがこの単純な例を修正するように教えてくれますか?

CREATE FUNCTION func01(value1 INT )
RETURNS varchar(150)
DETERMINISTIC
BEGIN
  DECLARE var_name VARCHAR(150);
  SET var_name = "";
  SELECT users.username
    FROM users
    WHERE Id = param1;
  RETURN var_name;
END;

これについてご協力いただきありがとうございます。修正してください関数または手順の実例が本当に欲しいのですが、参照はこれで非常にスリムです... :)

4

1 に答える 1

0

私はいくつかの変更を加えました:

CREATE FUNCTION func01(value1 INT )
RETURNS varchar(150)
DETERMINISTIC
BEGIN
 DECLARE var_name VARCHAR(150);
 SET var_name = "";
SELECT users.username into var_name
FROM users
WHERE Id = value1;
RETURN var_name;
END;

これで動作するはずです。

Saludos :)

于 2013-03-18T17:56:33.577 に答える