0

VARCHAR 列を LONG VARCHAR 列に変更する必要がある SQLBase-Database があります。

sqlbase でデータ型を変更することはできないため、temp 列を作成し、データを 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;

しかし、私のコードでは、次のエラー メッセージが表示されます。

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

私の問題を解決する方法はありますか?

4

1 に答える 1

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;
于 2016-02-01T16:52:59.470 に答える