Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSql-在我的函数中使用执行语句显示我的表时遇到问题_Postgresql - Fatal编程技术网

PostgreSql-在我的函数中使用执行语句显示我的表时遇到问题

PostgreSql-在我的函数中使用执行语句显示我的表时遇到问题,postgresql,Postgresql,这是我使用的perform语句: perform * from table1; 但是,当我执行该函数时,表不会显示在终端上。没有产生任何错误,表格就是不显示 我的职能: CREATE OR replace FUNCTION addToTable (number INTEGER,NAME VARCHAR(15)) RETURNS void AS $$ BEGIN INSERT INTO table1 VALUES ( number ,NAME

这是我使用的perform语句:

perform * from table1;
但是,当我执行该函数时,表不会显示在终端上。没有产生任何错误,表格就是不显示

我的职能:

CREATE OR replace FUNCTION addToTable (number INTEGER,NAME VARCHAR(15))
RETURNS void AS $$
BEGIN
    INSERT INTO table1
    VALUES (
        number
        ,NAME
        );
    perform *
    FROM table1;
END;$$
LANGUAGE plpgsql;
调用它:
select*from addToTable_1(2,'User')



调用它:
select*from addToTable_1(2,'User')

@Vivek.S select不起作用,因为它会给出一个错误,说明“查询没有结果数据的目标”。这就是我使用“执行”的原因,但我不知道为什么在执行函数时没有表格显示。@Vivek.S执行“执行选择”后,我遇到了错误,说“错误:语法错误在或接近”选择“。该函数是一个void函数。正如我已经说过的,您必须显示整个函数并引用@Vivek.S,我已经发布了整个函数。这很简单,我不明白为什么它不显示表,即使它没有产生任何错误。@Vivek.S select不起作用,因为它会给出错误,说“查询没有结果数据的目标”。这就是我使用“执行”的原因,但我不知道为什么在执行函数时没有表格显示。@Vivek.S执行“执行选择”后,我遇到了错误,说“错误:语法错误在或接近”选择“。该函数是一个void函数。正如我已经说过的,您必须显示整个函数并引用@Vivek.S,我已经发布了整个函数。这很简单,我不明白为什么它不显示表,即使它没有产生任何错误。用户如何知道我们返回哪个表?我们只是告诉它名称和编号,但没有提到哪个表。您想从
table1
中获取所有行,还是只想插入行??,顺便说一句
returning*
将返回
table1
中插入的所有行。我希望打印表中的所有行和所有列。谢谢您,它工作正常!是否可以添加多个转盘?例如:将表1、表2、表3的集合返回为$$,如果每个表中的所有列的数据类型和返回列计数都相同,那么我有一个解决方法,如何知道我们返回的是哪个表?我们只是告诉它名称和编号,但没有提到哪个表。您想从
table1
中获取所有行,还是只想插入行??,顺便说一句
returning*
将返回
table1
中插入的所有行。我希望打印表中的所有行和所有列。谢谢您,它工作正常!是否可以添加多个转盘?例如:将表1、表2、表3的集合返回为$$,如果每个表中所有列的数据类型和返回列计数都相同,那么我有一个解决方法
CREATE OR replace FUNCTION addToTable_1 (num INTEGER,nam VARCHAR(15))
RETURNS setof table11 AS $$
BEGIN
    EXECUTE format( 'insert into table11 values(%s,%s) ',num,quote_literal(nam));
    RETURN QUERY
    EXECUTE 'select * from table11';
END;$$
LANGUAGE plpgsql;