SQLBase varchar col для длинного varchar col

У меня есть база данных SQLBase, где я должен изменить столбец VARCHAR на столбец LONG VARCHAR.

Поскольку невозможно изменить тип данных в sqlbase, я хочу создать временный столбец, переключить данные из столбца varchar во временный столбец, удалить столбец varchar и переименовать временный столбец.

Вот мои SQLStatements:

ALTER TABLE NetworkShares ADD TEMP LONG VARCHAR;
UPDATE NetworkShares SET TEMP = Passwort;
ALTER TABLE NetworkShares DROP Passwort;
ALTER TABLE NetworkShares RENAME TEMP Passwort;

Но с моим кодом я получаю сообщение об ошибке:

Error: 01602 TYP MBB Long must be set to bind variable

Любые идеи, как я могу решить свою проблему?

1 ответ

Решение
create table TMP_NetworkShares(
    <define all columns here as per NetworkShares>,
    PASSWORT long varchar not null
) pctfree 10;

insert into TMP_NetworkShares(
    <define all columns here as per NetworkShares>,
    PASSWORT ) select
    <define all columns here as per NetworkShares>,
    PASSWORT
        from NetworkShares;

drop table NetworkShares;

alter table TMP_NetworkShares rename table NetworkShares;

grant all on NetworkShares to PUBLIC;
Другие вопросы по тегам