pl/pgsql - 如何从另一个 table 创建一个 table

pl/pgsql - How to create a table from another table

我想创建一个 table random_record 与另一个 table simulated_records 包含相同的列;其中一列是 grade。但我不断收到此错误:

ERROR: "random_record.grade" is not a known variable
LINE 45: random_record.grade = c_grade;
^

********** Error **********

ERROR: "random_record.grade" is not a known variable
SQL state: 42601
Character: 1635

FOR i IN 1..6 LOOP

    CREATE TABLE random_record AS 
    SELECT ....

    IF random_record.grade = '-' THEN

    .....

    END IF;


....

END LOOP;

我不确定我是否正确创建了 table。

  • 你很好地创建了 table,但是 table 不是一个变量,所以行

    IF random_record.grade = '-' THEN 
    

    没有任何意义。很难确定您想要什么,因为在此上下文中使用 table 没有任何价值。

  • creating in table in cycle 有另一个问题 - 语句 CREATE TABLE 仅在循环的第一个循环中有效。第二个循环必须失败,因为 table 已经存在。

这很难帮助,因为这段代码很乱——它把变量 table 混合在一起,这是不可能的。每个对象都有自己的维度,自己的访问方式,这些机制都是不同的。