适用于多租户数据库的 OpenEdge ODBC 更新

问题描述 投票:0回答:1

当使用 ODBC 到 OpenEdge 多租户数据库时,我可以进行查询并获得预期结果。

SELECT "LogiVal" FROM PUB."SysCtrl" AS mtc WHERE tenantName_tbl (mtc) = ('tenantID') AND "ParamId" = 'AccoGrpProd'
这将按预期仅返回一列/行。

我可以轻松地将此字段更新为所有租户,但如何将其限制为特定租户?

我在测试查询语法时使用 DBeaver,并认为该语法与 SELECT 中的语法类似,但没有运气。这就是我尝试过的。假设我喜欢将值设置为字段“LogiVal”=“1”。

UPDATE PUB."SysCtrl" AS mtc SET LogiVal = '1' WHERE tenantName_tbl (mtc) = ('tenantID') AND "ParamId" = 'AccoGrpProd'

odbc openedge progress-db
1个回答
0
投票

这个 OpenEdge kbase 有一个 MT SQL 查询示例,似乎说明了选择租户子集:

SELECT COUNT(*) FROM DBNAME.PUB.Table1
INNER JOIN DBNAME.PUB.Table2 ON
Table2.columnA = Table1.columnA
AND tenantId_tbl(Table1) = tenantId_tbl(Table2)
LEFT JOIN DBNAME.PUB.Table3 ON
Table3.columnB = Table2.columnB
AND Table3.columnC = Table2.columnC
AND tenantId_tbl(Table1) = tenantId_tbl(Table3)
INNER JOIN DBNAME.PUB.Table4 ON
Table4.columnB = Table2.columnB
AND tenantId_tbl(Table1) = tenantId_tbl(Table4)
WHERE
Table1.columnD >= '1/1/2018'
AND tenantId_tbl(Table1) IN (1,5)

我认为,

AND tenantId_tbl(Table1) IN (1,5)
部分就是您可能正在寻找的内容。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.