Postgresql 为每行运行存储函数,然后导出到CSV文件
我有一个Postgresql 为每行运行存储函数,然后导出到CSV文件,postgresql,Postgresql,我有一个users表,还有一个存储函数get\u user\u points(int user\u id):int。 如何为用户表中的每一行调用此过程,然后比较返回值(点数),如果大于100,如果为true,则添加用户id以导出到.csv文件中(如果不大于100,则忽略行)?可能我遗漏了一些内容,但以下内容应满足您的要求: select user_id from users where get_user_points(user_id) > 100 将其导出为.csv文件的过程取决于您使
users
表,还有一个存储函数get\u user\u points(int user\u id):int
。
如何为用户表中的每一行调用此过程,然后比较返回值(点数),如果大于100,如果为true,则添加用户id以导出到
.csv
文件中(如果不大于100,则忽略行)?可能我遗漏了一些内容,但以下内容应满足您的要求:
select user_id
from users
where get_user_points(user_id) > 100
将其导出为.csv文件的过程取决于您使用的SQL客户端。在
psql
中,您可以使用\copy
例如,可能我遗漏了一些内容,但以下内容应满足您的要求:
select user_id
from users
where get_user_points(user_id) > 100
将其导出为.csv文件的过程取决于您使用的SQL客户端。在
psql
中,您可以使用\copy
在WHERE子句中使用您的函数,并将查询放入copy中
COPY (
SELECT *
FROM user_table WHERE get_user_points(int user_id) > 100
) TO '/path/to/file.csv'
- 请记住,该文件将在数据库服务器中创建。如果客户端和服务器在不同的机器上,您必须坚持使用@a_horse_提供的选项,或者使用@u no_名称
COPY (
SELECT *
FROM user_table WHERE get_user_points(int user_id) > 100
) TO '/path/to/file.csv'
- 请记住,该文件将在数据库服务器中创建。如果客户端和服务器在不同的机器上,您必须坚持使用@a_horse_提供的选项,或者使用@u no_名称