关键字:
SQL、CALL、SELECT、PERFORM、人大金仓、KingbaseES
PERFROM
PERFORM是一个用于执行 SQL 查询的内部命令。它主要用于执行一个查询并丢弃结果,而不是将结果返回给客户端。 PERFORM`命令可以用于在 PL/SQL 函数或存储过程中执行查询,以及在触发器中执行查询。
PERFORM的语法如下:
PERFORM query;
其中,query 是要执行的 SQL 查询。以下是一个使用 PERFORM执行查询的示例:
CREATE OR REPLACE FUNCTION my_function()
RETURNS VOID AS $$
BEGIN
PERFORM * FROM table_name;
END;
$$ LANGUAGE plpgsql;
在上面的示例中,定义了一个名为 my_function的 PL/SQL 函数,其中使用 PERFORM`命令执行了一个查询。查询语句 SELECT * FROM table_name;返回的结果将被丢弃,不会返回给客户端。
PERFORM`命令通常用于在函数或触发器中执行查询,以验证查询是否返回了所期望的结果,或者用于执行一些与结果无关的操作(如插入、更新或删除数据)。要注意,PERFORM命令不会返回查询结果,因此不适合用于需要获取查询结果的情况。如果需要获取查询结果,请使用适当的 SQL 命令(如 SELECT)并将结果返回给客户端。
CALL
CALL 语句用于调用存储过程(stored procedure)或函数(function)。存储过程和函数是预先定义的一组 SQL 语句,可以在需要时通过调用来执行。
以下是 CALL语句的基本语法:
CALL procedure_name(arguments);
在上面的语法中,procedure_name是要调用的存储过程或函数的名称。arguments是传递给存储过程或函数的参数列表。
以下是一个示例,演示如何使用 CALL语句调用一个名为get_customer_details的存储过程,并传递一个参数:
CALL get_customer_details(123);
上面的示例调用了名为 get_customer_details的存储过程,并将参数值123传递给它。
使用CALL语句调用存储过程或函数时,可以获取函数的返回值。但是使用CALL获取返回值时,需要将返回值赋值给一个变量,并通过INTO子句指定变量。然后,可以通过SELECT语句查询该变量来获取函数的返回值。
call 和 select 和 perform有什么区别
CALL、SELECT 和 PERFORM是用于执行不同类型操作的 SQL 语句。
-
CALL语句用于调用存储过程或函数。它用于执行预先定义的一组 SQL 语句,可以传递参数并获取返回值。
-
SELECT语句用于从一个或多个表中检索数据。它可以用来查询数据、过滤数据、排序数据等。SELECT语句可以返回结果集,你可以使用它来获取查询的结果。
-
PERFORM语句用于执行一个 SQL 查询,但不返回结果。它通常用于执行一些没有返回结果的操作,例如插入、更新或删除数据,或者执行一些存储过程或函数,而不需要获取返回值。
所以,CALL主要用于调用存储过程或函数,并可以传递参数和获取返回值;SELECT主要用于从表中检索数据,并返回结果集;PERFORM用于执行一个 SQL 查询,但不返回结果。需要注意的是,CALL和PERFORM在PostgreSQL 中是可选的语法,可以使用 SELECT语句来调用存储过程或函数,或者执行一些没有返回结果的操作。