我写的程序,只填了一栏,请问哪里出错了?

I wrote the procedure, only one column is filled in, tell me where the error is?

我尝试编写一个使用伪随机序列公式用随机数据填充 table 的程序,只填充了一列,帮助查找我的错误,这是我的代码:

CREATE OR REPLACE PROCEDURE pr_zakaz2(Номер integer, Сумма integer)
AS
$$
BEGIN
INSERT INTO Заказ(Номер, Сумма)
SELECT Заказ(Номер, Сумма) FROM generate_series(1, 100000), i WHERE
result = next * 1103515245+12345;
END;
$$ language 'plpgsql';

enter image description here

enter image description here

我想你想要的语法是:

INSERT INTO Заказ(Номер, Сумма)
    SELECT i,  (next * 1103515245+12345) % 101
    FROM generate_series(1, 100000) gs(i)
    END;

请注意,通常在这种情况下使用 %101。这将结果限制在某个有限范围内——在本例中为 0 到 100。此外,所使用的两个数字通常是质数(或至少是相对质数)——而以 5 结尾的数字不是。