在 Microsoft SQL Server 中,我可以做类似这样的事情:
这段话的意思是:返回一个包含“my_table”所有列的表格。在PostgreSQL中,最接近这个功能的语句是:
或者我可以定义我的表类型,但手动重新创建已经存在的东西在技术上非常不切实际。
“而且维护起来很麻烦。那么,我怎样才能轻松地返回结果集,而不必重新定义我想要返回的每一列?”
create procedure my_procedure @argument1 int, @argument2 int
as
select *
from my_table
where ID > @argument1 and ID < @argument2
这段话的意思是:返回一个包含“my_table”所有列的表格。在PostgreSQL中,最接近这个功能的语句是:
create or replace function
get_test()
returns setof record
as
$$ select * from my_table $$
language sql
或者我可以定义我的表类型,但手动重新创建已经存在的东西在技术上非常不切实际。
create or replace function
get_agent_summary()
returns table (
column1 type, column2 type, ...
)
as
$$
begin
return query select col1, col2, ... from my_existing_table;
...
“而且维护起来很麻烦。那么,我怎样才能轻松地返回结果集,而不必重新定义我想要返回的每一列?”