我在postgres尝试过查询bellow:
select * from user u join
user_func uf on u.pk = uf.user_pk
where uf.functions in ('UPDATE_MODEL', 'UPDATE_USER')
and u.perfil in ('ADMIN', 'MANAGER');
但是,如果用户在UPDATE_MODEL和UPDATE_USER中有两个函数,则返回user_func和UPDATE_USER中的任何匹配,我只想要所有匹
我想使用postgres sql来更新数据库中的最新行。
下面是我如何获得最新行的方法:
SELECT id, state_json, update_timestamp FROM ui_rules ORDER BY update_timestamp DESC LIMIT 1
如何更新和覆盖该单行?
UPDATE ui_rules SET state_json = '{..}' WHERE ?;
我试图在Postgres上运行一些更新查询,其中表是在公共字段上连接的。这是与Server一起运行的,更新计数为1,而postgres的更新计数为3。当目标表与连接中涉及的源表同名时,postgres似乎不会执行隐式连接。该脚本可能比正在说的内容更有描述性,如下所示:
drop table test;
drop table test2;
create table test(col1 int, col2 varchar(10));
insert into test values(1, 'aaa');
insert into test values(2, 'bbb'
我正在从SQL Server迁移到Postgres,这在很大程度上还不错。其中一个问题是,我无法弄清楚如何在Postgres中执行此查询:
update
"Measure"
set
DefaultStrataId = StrataId
FROM (SELECT "Strata"."MeasureId",
Min("Strata"."index") AS "Index"
FROM "Strata",
我已经从mysql迁移到psql,但我发现很难理解使用多个左连接的UPDATE语句。
你将如何在Postgres中重写这个?(我正在使用postresql 9.4)
update task t
left join project p on t.project_id = p.id
left join client c on t.client_id = c.id
left join user u on t.user_id = u.id
set t.project_name = p.name,
t.client_name = c.name,
t.u
我需要使用来自其他表的信息来更新表。这是我的sql查询:
UPDATE service a
JOIN agency b USING (feed_id)
SET end_date = (SELECT MIN(start_date)-1
FROM service c
JOIN agency d USING (feed_id)
WHERE b.feed_id = a.feed_+1
AND b.agency_id = d.agency_id)
我需要
我在做从mysql到postgres的谈话。
我尝试用连接表EUTMPDFH T1和EUTMPDFHDT T2更新表EUTMPDFHDT。
下面是我在mysql中使用的代码。
UPDATE EUTMPDFHDT
SET NWCOLID=T2.NWCOLID
FROM EUTMPDFHDT T
INNER JOIN EUTMPDFH T1 ON T.DFHID = T1.DFHID AND T1.DFHTYP IN ('D','U','S','P','B')
INNER JOIN EUTMPTBLDT T2 ON T
我有一个表,在表上添加了一个新列nxvl。
我需要这样做
UPDATE table1
SET nxvl = nexval('my_sequence_1')
from table2
where table1.col_id = table2.id and table2.val_col=1
order by table1.date
UPDATE table1
SET nxvl = nexval('my_sequence_2')
from table2
where table1.col_id = table2.id and table2.val_col=2
ord
我真的需要这样做:
UPDATE table t1
SET column1=t2.column1
FROM table t2
INNER JOIN table t3
USING (column2)
GROUP BY t1.column2;
但是postgres说我对GROUP BY子句有语法错误。有什么不同的方法可以做到这一点?
基本上,我想这样做:
update vehicles_vehicle v
join shipments_shipment s on v.shipment_id=s.id
set v.price=s.price_per_vehicle;
我非常确定这在MySQL (我的背景)下是可行的,但在postgres中似乎行不通。我得到的错误是:
ERROR: syntax error at or near "join"
LINE 1: update vehicles_vehicle v join shipments_shipment s on v.shi...
我在oracle中使用了这个合并查询,它工作得很好。现在我们正在迁移到postgres 10,并试图在postgres中找到与此相当的版本。
MERGE INTO s.act_pack C USING((SELECT A.jid, A.pid, B.pcode,
B.mc, A.md, A.hd FROM s.act_pack A INNER JOIN s.act_pack B
ON A.pid = B.pid AND A.pcode = B.mc AND (A.hd <> B.hd
OR A.md<> B.md)) order by A.upd_ts desc
我使用带有sequelize的原始查询在postgres DB中用一个查询更新多个行。例如: update customers_table as c set
name = c2.name
from (values
(66, 'Joe'),
(70, 'Ann')
) as c2(id, name)
where c2.id = c.id; 在本例中,In为66和70的两行的名称将更新。 但是如何通过sequelizejs原始查询在nodejs中将数据作为数组进行更新呢?例如(这不起作用,但我想知道我想要做什么): const arrayO
我正在将后端数据库从mysql迁移到postgres,并且正在迁移我们所有的旧查询/函数。它们中的大多数都是琐碎的,但今天我遇到了一个让我抓狂的东西。这就是它:
UPDATE
k_coderound AS cr, k_coderound AS cr_m
SET
cr.is_correct = IF(
(SELECT GROUP_CONCAT(option_id ORDER BY variable_id) AS `values` FROM k_value
WHERE code_round_id=cr.id GROUP BY code_round_id)
对于下面的语句,我得到SQL error ORA-00933。它可以在postgres中解析,但不能在oracle中解析...对于oracle,这应该如何格式化?
提前感谢!
UPDATE comments
SET parent_type='report'
FROM reports
WHERE comments.parent_id=reports.id;
面临以下错误
"State 'postgres.user_update' was not found in SLS"
对于以下sls文件
postgres_user_update:
postgres.user_update:
- username : postgres
- host : rhapsody-test4dde
- port : 5432
- password : 1235
有什么线索吗?
我正在编写从PostgreSQL到Oracle的迁移脚本。我想在没有任何其他数据的情况下检索CREATE TABLE脚本。
它应该是这样的:
CREATE TABLE public.actor (
actor_id integer DEFAULT nextval('public.actor_actor_id_seq'::regclass) NOT NULL,
first_name character varying(45) NOT NULL,
last_name character varying(45) NOT NULL,
last_updat
在下面的SQL中,如何使RETURNING子句连接到其他内容并返回已连接的行?在这里,它只返回更新后的mytable中的行,但我希望它返回连接到另一个表中的行。
UPDATE mytable
SET status = 'A'
FROM (
SELECT myid
FROM mytable
WHERE status = 'B'
ORDER BY mycolumn
LIMIT 100
FOR UPDATE
) sub
WHERE mytable.myid = sub.myid
RETURNING *;
我使用参数POSTGRES_PASSWORD=postgres扩展postgres镜像,这样我的派生容器就已经有了一个默认密码,使用docker build和dockerfile。 每当我从postgres生成的派生图像在容器上运行psql -U postgres时,我都会得到: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var
请您告知mysql 8的正确语法,它相当于postgres的以下查询:
IF EXISTS (select 1 FROM aggregator.argument where argumentname = 'DEFAULT_FE_PAGE' AND value = 'NEW')
THEN
update aggregator.argument set value='AA' where name = 'DEFAULT_FE_PAGE';
END IF;
谢谢
有人能告诉我如何在PostgreSQL中转换下面的Oracle语句吗?Postgres不能将表锁在外部连接中。
SELECT
TB1.ID AS USER_ID,
TB1.USER_NAME AS USER_NAME,
TB1.BIRTHDATE AS BIRTHDATE ,
TB2.AGE AS AGE,
TB3.GENDER AS GENDER ,
TB4.SUBJECT AS SUBJECT ,
FROM
TABLE1 AS TB1
LEFT JOIN TABLE2 AS TB2 ON
TB1.ID= TB2.ID
LEF
我正在尝试将下面的oracle查询转换为postgres,
MERGE INTO table1 g
USING (SELECT distinct g.CDD , d.SGR
from table2 g, table3 d
where g.IDF = d.IDF) f
ON (g.SGR = f.SGR and g.CDD = f.CDD)
WHEN NOT MATCHED THEN
INSERT (SGR, CDD)
VALUES (f.SGR, f.CDD);
我做了如下与postgres兼容的修改:
WITH f AS (
SELECT distinct g.CDD ,
我已经盯着这个看了好一阵子了。下面的函数可以正确地标记约会表的"noshow“列。但我读到过使用"NOT IN“的slow...is是不是有更好的方法?也许可以使用左连接?
提亚
PostgreSQL 9.3
CREATE OR REPLACE FUNCTION g_update_noshow(groupid text)
RETURNS void AS
$BODY$
update appointments a
set noshow = 'true'
from patients pt
where
pt.groupid = $1
这是我用来安装Postgres的Dockerfile。
# Set the base image to Ubuntu
FROM ubuntu:14.04
# Update the repository sources list
RUN apt-get update -y
################## BEGIN INSTALLATION ######################
# Install wget
RUN apt-get install wget -y
# Setup Postgres repository
RUN wget --quiet -O - https:/
在MySQL中,可以这样做:
update
table_a A
inner join
table_b B
on
A.field_five = B.field_five
inner join
table_c C
on
B.field_one = C.field_one and A.field_two = C.field_two
set A.field_three = C.field_four
我尝试在PostgreSQL中构建如下相同的查询:
update table_a A
set A.field_three = C.field
目前,我正在使用中的数据库类,并试图在Postgres上使用PreparedStatment实现一个更新语句,同时将一个数组传递给WHERE子句。
const updatePreparedStatment = new PS('prepared-statement', 'UPDATE mytable SET "MESSAGE"=$1 WHERE "ID" IN ($2)', ["dummy update", ["1","2","3"]]);
如何将此Postgres语句解析到Oracle 11g中?
UPDATE teams as new
SET counter=old.counter,
task_counter=old.task_counter
FROM teams as old
WHERE new.is_old=0
AND old.is_old=1
AND new.name=old.name
AND new.county=old.county;
提前谢谢。
如何删除角色成员?我的角色名测试器是角色postgres (我不想要的)的成员。我如何取消这个会员资格?
Role name | Attributes | Member of
-----------+------------------------------------------------+------------
tester | | {postgres}
postgres | Superuser, Cr
我有两张桌子:
用户(这里有一个updated_at列)和user_updates (它有一个给用户的外键user_id和一个created_at列)
我想为用户找到最新的用户更新,所以我有以下内容:
SELECT user_id, MAX(user_updates.created_at) as last_update
FROM user_updates
WHERE user_id IN (<user_id>)
GROUP BY 1
但是,有时user_update不会有created_at,所以我需要与users.updated_at做一个协同工作。我试过这样做:
SELECT
如何在Dockerfile中启用Postgis扩展?Postgres安装已在运行
这是Ubuntu中的命令:
sudo -u postgres psql -c "CREATE EXTENSION postgis;"
我的Dockerfile:
# Set the base image to Ubuntu
FROM ubuntu:14.04
# Update the repository sources list
RUN apt-get update -y
################## BEGIN INSTALLATION ######################
我希望创建一个(postgres) SQL查询,该查询返回带有动态键的(JSON)对象。因此,我用一些值创建了这个示例表。
CREATE TABLE foods (
id SERIAL PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE nutrients (
id SERIAL PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE foods_nutrients (
food_id int REFERENCES foods(id) ON UPDATE CASCADE ON DELETE
我试图在一个选择查询中将我的主表加入到PostgreSQL中的一些子表中。我得到了一个语法错误,我有一种感觉,我正在犯一个可怕的错误或做一些事情是不允许的。守则:
Select
id,
length,
other_stuff
from my_table tbl1
Left join
(
Select
id,
height
from my_table2 tbl2) tbl2 using (id)
left join
-- I get syntax error here
(
With a as (select id from some_table),
b as (Select value