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

时间:2016-11-02 03:27:54

标签: sql postgresql stored-procedures plpgsql create-table

我想创建一个表random_record,它与另一个表simulated_records具有相同的列;其中一列是grade。但我一直收到这个错误:

  

错误:“random_record.grade”不是已知变量
  第45行:random_record.grade = c_grade;
            ^

     

**********错误**********

     

错误:“random_record.grade”不是已知变量
  SQL状态:42601
  性格:1635

FOR i IN 1..6 LOOP

    CREATE TABLE random_record AS 
    SELECT ....

    IF random_record.grade = '-' THEN

    .....

    END IF;


....

END LOOP;

我不确定我是否正确创建表格。

1 个答案:

答案 0 :(得分:1)

  • 你创建的表很好,但表不是变量,所以行

    IF random_record.grade = '-' THEN 
    

    没有任何意义。很难识别,你想要什么,因为在这种情况下使用表没有任何价值。

  • 在循环中创建表有另一个问题 - 语句CREATE TABLE仅在循环的第一个循环中起作用。第二个循环必须失败,因为表已经存在。

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