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;