2013-10-07 4 views
0

Вот моя ситуация, у меня есть таблица под названием EMPDETAILS (empcode, empname) с 10 записями и некоторыми другими таблицами, которые имеют empcode.Как обновить столбец во всей базе данных?

**Example** 
EMPCODE EMPNAME 
EMP001 A 
EMP002 B 
EMP003 C 

Теперь я хочу, чтобы обновить столбец EMPCODE EMP001 с 001 во всей базе данных

**OUTPUT** 
EMPCODE EMPNAME 
001  A 

Примечание: 1. я не ставил первичный ключ родительской таблицы.

Может ли кто-нибудь помочь?

+0

Вы пытаетесь изменить тип данных '' varchar2' к number', или просто заменить одно строковое значение с другим? Я не совсем понимаю, в чем проблема: в чем проблема с обновлением всех таблиц независимо, но в одной транзакции, если нет препятствий на пути? –

+0

одно значение строки с другим – Raj

+0

нет необходимости изменять типы данных. моему клиенту необходимо заменить значение EMPCODE «D109» на некоторые другие значения, такие как «201913» во всех таблицах. – Raj

ответ

1

Попробуйте что-то вроде этого, чтобы сгенерировать операторы обновления

SELECT 
     'UPDATE ' 
     || OWNER 
     || '.' 
     || TABLE_NAME 
     || ' SET EMPCODE = SUBSTR (EMPCODE, 1, 3); ' 
FROM 
     SYS.ALL_TAB_COLUMNS 
WHERE 
     OWNER = '{owner}' 
     AND COLUMN_NAME = 'EMPCODE'; 
Смежные вопросы