2013-02-14 3 views
0

Я перемещаю некоторые данные между двумя базами данных и имел большой успех, но затем я столкнулся с проблемой, выполняющей тот же запрос, который я делал.Ошибка Oracle, перемещение данных между базами данных

Запрос:

INSERT INTO [email protected] SELECT * FROM INTERNET.WEBSECURITY; 

Ошибка:

ORA-06502: PL/SQL: numeric or value error: character string buffer too small 

Любые идеи о том, что это может быть?

ответ

2

Вы пытаетесь присвоить значение переменной plsql, которая недостаточно велика или имеет больший размер, чем тип данных столбца.

+0

Так может случиться, что у одного есть идентификатор 1-10, а следующий начинается с 40-80 id, который разрушит последовательность? Есть ли способы обойти это? – Solid1Snake1

+0

Это может быть. Чтобы получить конкретный ответ, вы должны дать более подробную информацию о своем случае. Если идентификационные номера не совпадают, попробуйте преобразовать данные, если это не имеет значения, чтобы конвертировать, конечно. Но мой совет заключается в том, что предоставление более подробной информации позволяет получить более конкретный ответ. –

+1

Получил решение, отключил триггер, предотвращающий то, что я пытался сделать, обновил последовательность, чтобы начать с следующего номера, и снова включил триггер. благодаря – Solid1Snake1

0

Кроме того: назначить/вставить нечисловое значение в числовую переменную/столбец. Возможно, ваши столбцы таблицы немного отличаются по типам данных и размерам. Я не вижу никаких переменных в вашем примере.

Смежные вопросы