Het klinkt alsof het probleem is dat je lege strings in je tabel hebt. Die moet je afhandelen, waarschijnlijk met een case-statement, zoals:
execute %{ALTER TABLE "table1" ALTER COLUMN columnB TYPE integer USING CAST(CASE columnB WHEN '' THEN NULL ELSE columnB END AS INTEGER)}
Update:volledig herschreven op basis van bijgewerkte vraag.