Проблема Создание нескольких скриптов с Postgres
Я использую postgres для создания нескольких скриптов INSERT для вставки данных из одной базы данных в другую.
Оператор выдает ошибку неправильного синтаксиса для целого числа.
Вот сценарий, который я пытаюсь запустить
select 'INSERT INTO public."HoldingMasters"(
"AccountID", "AssetID", "CreatedDate", "DateAcquired", "GainsLongTerm", "LotNumber", "Managed", "ModifiedDate", "Sweep", "UID", "Units", "UnitsPledged", "IsModified", "ModifiedCount")
SELECT ' + CAST("AccountID" as integer) + ',' + CAST("AssetID" as integer) + ',' + "CreatedDate" + ',' + "DateAcquired" + ',' + "GainsLongTerm" + ',' + CAST("LotNumber" as integer) + ',' + "Managed" + ',' + "ModifedDate" + ',' + "Sweep" + ',' + CAST("UID" as integer) + ',' + "Units" + ',' + ',' + "UnitsPledged" + ',' + "IsModifed" + ',' + CAST("ModifiedCount" as integer) +
'WHERE NOT EXISTS(SELECT "UID" from "HoldingMasters" where "UID" = ' + CAST("UID" as integer) +')'
as script from "HoldingMasters";
И это дает мне ошибку:
ERROR: invalid input syntax for integer: "INSERT INTO public."HoldingMasters"(
"AccountID", "AssetID", "CreatedDate", "DateAcquired", "GainsLongTerm", "LotNumber", "Managed", "ModifiedDate", "Sweep", "UID", "Units", "UnitsPledged", "IsModified", "ModifiedCount")
SELECT "
LINE 1: select 'INSERT INTO public."HoldingMasters"(
^
SQL state: 22P02
Character: 8
Некоторые из этих столбцов являются целыми числами, и я не уверен, какой синтаксис использовать для правильного приведения в выражении INSERT в моих сценариях.
Я пытался:
SUM (NULLIF ("AccountID", ''):: целое число)
"AccountID":: целое
to_number - похоже, не работает на моей машине
Я выполнил этот оператор INSERT сам по себе без каких-либо проблем, просто он, кажется, имеет проблемы в генераторе "как скрипт". Я не видел, чтобы кто-нибудь попробовал этот синтаксис в генераторе скриптов.
Любая помощь будет оценена.