当前位置: 首页 > 知识库问答 >
问题:

SQL错误[42P01]:错误:关系“temp_table_name”不存在

山煜祺
2023-03-14

:“查询执行失败。原因:
SQL错误[42P01]:错误:关系”temp_table“存在。
不存在”

CREATE OR REPLACE FUNCTION public.sp_str_dsl_lp_ung(x int8)
RETURNS integer
LANGUAGE plpgsql volatile
AS $function$
declare 

--variables
variab int :=0;
begin  

    CREATE temporary TABLE temp_table  (a int8, b int8) ;
    insert into temp_table (a,b) select (a,b) from existing_table;
end
$function$

我想创建一个临时表来临时存储一些记录。

共有1个答案

凌轶
2023-03-14

您的代码没有什么问题

>

  • 您已经将函数定义为stable,根据文档,这是不允许的,并且在执行时会收到错误。

    错误:非易失性函数中不允许CREATE TABLE

    CREATE OR REPLACE FUNCTION sp_str_dsl_lp_ung(color smallint,
    lpcount integer, update_userid character varying, OUT lp integer)
    RETURNS integer
    LANGUAGE plpgsql volatile
    AS $function$
    declare 
    
    --variables
    variab int :=0;
    begin  
    
        CREATE temporary TABLE temp_table  (a int8, b int8) ;
        insert into temp_table (a,b) select a,b from existing_table;
    end
    $function$
    

  •  类似资料:
    • 我的查询不执行 错误:关系“student_id_seq”不存在SQL状态:42P01

    • 问题内容: 我在使用PostgreSQL 9.3和使用qoutes创建的表时遇到了一个奇怪的问题。例如,如果我使用qoutes创建表: 该表已正确创建,在pgAdminIII的SQL窗格中查看该引号时,可以看到保留了引号。但是,当我查询数据库以查找所有可用表的列表时(使用下面的查询),我看到结果不包含表名的引号。 由于该表是用引号创建的,因此我无法直接使用上述查询返回的表名,因为该表名未加引号,并

    • 我在列名方面也遇到了同样的问题,但我希望如果我能找到一个解决表名问题的方法,那么类似的方法也能适用于列名。

    • 问题内容: 我在尝试使用PostgreSQL和Hibernate时遇到一些问题,更具体地说,是标题中提到的问题。我已经在网上搜索了几个小时,但没有找到适合我的解决方案。 我正在为Web开发人员使用Eclipse Java EE IDE。在Ubuntu 9.10上使用HibernateTools,Hibernate 3,PostgreSQL 8.4.3构建ID:20090920-1017 以下是相关

    • 问题内容: 我正在尝试将netbeans连接到我的postgresql数据库。该连接似乎已经起作用,因为仅在连接时我没有收到任何错误或异常,诸如getCatalog()之类的方法也返回正确的答案。 但是,当我尝试运行简单的SQL语句时,出现错误“错误:关系“ TABLE_NAME”不存在”,其中TABLE_NAME是数据库中确实存在的我的任何表。这是我的代码: 我以为netbeans可能找不到表,

    • 问题内容: 我正在尝试在PostgreSQL 8.4.2 DB上运行hibernate模式。每当我尝试运行一个简单的Java代码,例如: 我收到以下错误: 由于我将选项hibernate.show_sql选项设置为true,因此可以看到hibernate尝试运行以下SQL命令: 实际上,它至少应运行以下命令: 有谁知道我需要进行哪些更改才能使Hibernate为PostgreSQL生成正确的SQL