2015-03-26 3 views
0

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

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

Вот мои SQLStatements:

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

Но с моим кодом я получаю эту ErrorMessage:

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; 
Смежные вопросы