【问题标题】:I wrote the procedure, only one column is filled in, tell me where the error is?我写了程序,只填了一栏,告诉我错误在哪里?
【发布时间】:2021-08-05 20:24:31
【问题描述】:

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

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

【问题讨论】:

    标签: sql postgresql stored-procedures plpgsql


    【解决方案1】:

    我认为你想要的语法是:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      相关资源
      最近更新 更多