【发布时间】:2012-02-07 12:19:55
【问题描述】:
我有以下更新,但我不想手动复制这些值。 我更喜欢使用查询来提取它们。 我应该使用 PL/SQL 还是有 SQL 公式?
我用来获取手动复制到更新中的值的查询不是键保留(“连接视图中的键保留表概念”)。
UPDATE wkf_cronologia
SET swkf_stato_workflow_id = 'o3gE1tlSdcDIC6FF',
swkf_data_ini = TO_TIMESTAMP ('19-06-2010 18:28:10,556000000','DD-MM-RRRR HH24:MI:SS,FF'),
swkf_versione = 0,
SPWKF_STATO_PUBBLICO_ID = '*1UNICOO',
SPWKF_DATA_INI = TO_TIMESTAMP ('01-01-0001 00:00:00,000000000', 'DD-MM-RRRR HH24:MI:SS,FF'),
SPWKF_VERSIONE = 0
WHERE wkfc_cronologia_id = 'ApAJ0qCudNphjLxj';
【问题讨论】:
-
您是说
wkf_cronologia是一个视图吗?并且该视图没有保留密钥?这意味着当您发出更新语句时,Oracle 无法确定要更新一个或多个基础表中的哪些行。您可以保留视图密钥吗?你能更新基表吗?你能在视图上创建一个INSTEAD OF UPDATE触发器,以找出你想要更新表中的哪些行吗? -
可能重复[使用另一个表中的数据更新一个表中的行,基于每个列中的一列相等](stackoverflow.com/questions/7918688/…)
-
对于 Justin Cave:不,wkf_cronologia 是一张桌子。也许你可以更好地理解阅读我之前的帖子:stackoverflow.com/questions/9164586/…
标签: oracle plsql sql-update