2017-04-03 8 views
-1

私はSQLを初めて使っています。これは実際には私の最初のプロジェクトです。 私がしようとしているのは、乱数を持つテーブルを返すファンクションを作成することです。だから、fanctionは、入力(nは整数)を有し、n個の乱数を使用してテーブルを返すことになっているSQLはランダムなテーブル関数を作成します

CREATE OR REPLACE FUNCTION create_amka(n integer) 
RETURNS TABLE(amka integer) AS 
$$ 
BEGIN 
return query 

    select cast(random()*100 as integer) 
    ORDER BY random() LIMIT n; 

END; 
$$ 
LANGUAGE 'plpgsql' IMMUTABLE; 

:私はpgAdminで4 IDE

を使用していますこれは、コードです。しかし、それは1つの番号を返します。 "LIMIT n"は問題ですか?そのようなファンクを創り出す良い方法はありますか?事前

答えて

0

で おかげであなたが使用generate_series()n番号を返すようにしたい場合:

select cast(random()*100 as integer) 
from generate_series(1, n); 

がそれらを注文する必要はありません。彼らはすでにランダムです。

+0

これはうまくいきませんでした。このgenerate_series()関数が存在していたことを知りませんでした。 –

関連する問題