Здравствуйте. У меня очень большой SQL-скрипт, и при попытке его выполнить я получаю сообщение об ошибке в PostgreSQL о дублированном первичном ключе. Он не дает номер строки, в которой указано, где происходит дублирование записи (он также переносится в транзакцию, поэтому он не знает о дубликате до тех пор, пока commit;
в конце файла.
В принципе, может ли кто-нибудь помочь мне написать быстрый скрипт на Ruby для анализа этого файла и поиска дублирующейся записи? Этот файл загружается в большинстве редакторов за минуту, а поиск - замена занимает около 5-10 минут ... так что он довольно массивный, и единственный способ, которым я могу придумать сделать это с Ruby, слишком сложен. Это потребует двух циклов for и должно анализировать файл один раз в каждом цикле ...
Строки в этом формате ..
INSERT INTO ZIPCODE (ZIPCODE, CITY, STATE, STATECODE, COUNTY, COUNTYCODE) VALUES (N'00782', N'COMERIO', N'PR', N'72', N'COMERIO', N'045');
Первый (N'xxxxx',...
является первичным ключом. Каков наилучший способ синтаксического анализа этого файла, который не займет весь день для запуска? Кроме того, это должно быть сделано только один раз ... так что сценарий одноразового использования в порядке ..