sql创建随机表函数
问题描述:
所以我是SQL新手,这实际上是我的第一个项目。 我想要做的是创建一个函数,返回一个随机数的表。我使用pgAdmin的4个IDEsql创建随机表函数
这是代码:
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;
所以fanction具有输入(正整数),应该返回一个表,N个随机数。但它只返回1个数字。 “LIMIT n”是否是问题?有没有更好的方式来创造这样的魅力? 在此先感谢
答
如果你想返回n
号码,您的使用generate_series()
:
select cast(random()*100 as integer)
from generate_series(1, n);
没有必要对它们进行排序。他们已经是随机的。
是的它的工作.. did not知道这generate_series()函数存在.. thx很多人! –