Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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
如何在一个查询中更新3个表中的内容?-Postgresql_Postgresql - Fatal编程技术网

如何在一个查询中更新3个表中的内容?-Postgresql

如何在一个查询中更新3个表中的内容?-Postgresql,postgresql,Postgresql,我有3个表用户,游戏和位置;我想使用PostgreSQL在一个查询中同时更新这3个表。我将在express中使用node Js,所以我不能使用transaction,也不想使用。如何做到这一点?根据语句文档,没有办法更新3个表(除非使用表继承,但我猜不是这样)表\u名称描述单个表 解决方案: 要在一个statemenet中更新3个表,您可以编写一个这样做的表,然后从代码中调用它。函数体在单个事务中执行 使用如中所述的事务。我不知道为什么不鼓励在node.js应用程序中使用事务 不能使用一条u

我有3个表用户,游戏和位置;我想使用PostgreSQL在一个查询中同时更新这3个表。我将在express中使用node Js,所以我不能使用transaction,也不想使用。如何做到这一点?

根据语句文档,没有办法更新3个表(除非使用表继承,但我猜不是这样)<代码>表\u名称描述单个表

解决方案:

  • 要在一个statemenet中更新3个表,您可以编写一个这样做的表,然后从代码中调用它。函数体在单个事务中执行

  • 使用如中所述的事务。我不知道为什么不鼓励在node.js应用程序中使用事务


  • 不能使用一条update语句更新三个表,但可以使用一条SQL语句更新三个表


    为什么不运行三个查询呢?我使用nodejs和postgresql来运行它,而运行三个查询对我来说不起作用。这可以与express中的“app.put(“/af/:user_id:”,async(req,res)=>”一起使用吗?
    with update_one as (
      update first_table 
         set some_column = ...
      where ...
    ), update_two as (
      update second_table
         set some_column = ...
      where ...
    )
    update third_table
       set some_column = ...
    where ...
    ;