Проблема Создание нескольких скриптов с 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 сам по себе без каких-либо проблем, просто он, кажется, имеет проблемы в генераторе "как скрипт". Я не видел, чтобы кто-нибудь попробовал этот синтаксис в генераторе скриптов.

Любая помощь будет оценена.

0 ответов

Другие вопросы по тегам