Данные CAST для исправления типа данных, если ошибки вставляются в таблицу

0

У меня много плохих данных. Я могу легко импортировать эти данные в базу данных и использовать тип данных varchar. Однако, если я хочу, чтобы данные CAST исправили формат, у меня проблемы, из-за плохих данных.

Поскольку мне нужно исправить эти данные, мне нужно взять строки, чтобы я мог CAST корректный формат и поместить эти строки "исправлены" -table, а те строки, которые не имеют CAST, мне нужно вставить в "failed" -table.

Я думаю, что лучший способ сделать это - использовать хранимую процедуру, но может ли кто-нибудь показать мне пример, как это сделать? Я использую базу данных MySQL.

  • 0
    Вы, вероятно, можете сделать это, не прибегая к хранимой процедуре. Можете ли вы привести пример, который объясняет вашу проблему и охватывает большинство крайних случаев?
Теги:

1 ответ

0

Непроверенные! Я попытаюсь вставить VARCHAR в столбец INT.

DELIMITER $$

CREATE PROCEDURE insert_article_tags_2(IN data VARCHAR(100))
BEGIN

DECLARE  has_error INT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET has_error = 1;

 INSERT INTO mytable (id)
   VALUES(data);

 IF has_error = 1 THEN
    INSERT INTO mytable_error (rawdata) VALUES(data);
 END IF;

END;
$$

Ещё вопросы

Сообщество Overcoder
Наверх
Меню