0
У меня есть следующее обновление, но я не хочу копировать значения вручную. Я предпочитаю извлекать их с помощью запроса. Должен ли я использовать PL/SQL или есть формулировка SQL?Oracle: обновление с использованием значений из других таблиц
Запрос, который я использую для получения значений, которые я скопировал вручную в обновление, не сохраняет ключ («Концепция таблицы с сохранением таблицы в представлении объединения»).
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» в представлении, который может определить, какие строки в таблице вы хотите обновить? –
Возможный дубликат [Обновить строки в одной таблице с данными из другой таблицы на основе одного столбца, в каждом из которых равны] (http://stackoverflow.com/questions/7918688/update-rows-in-one-table-with-data -from-another-table-based-on-one-column-in-eac) – Allan
Для пещеры Джастина: Нет, wkf_cronologia - это таблица. Может быть, вы можете лучше понять мой предыдущий пост: http://stackoverflow.com/questions/9164586/oracle-multiple-table-updates-ora-01779-cannot-modify-a-column-which-maps-t/9166046# 9166046I – Revious