有没有一种方法可以将列添加到Interbase中的特定位置

时间:2020-10-19 12:35:20

标签: position alter interbase

我需要在数据库中的现有表中添加新列。

该列应放置在特定位置。

我知道这可以通过两个单独的命令来完成:

ALTER TABLE MYTABLE
ADD MYCOL INTEGER


ALTER TABLE MYTABLE
ALTER MYCOL POSITION 12

但是有一种方法可以做到这一点吗?

我搜索了Interbase的文档,但没有找到与此相关的内容。

谢谢。

2 个答案:

答案 0 :(得分:1)

这是正确的语法:

nd@postgres=# \set argument 'aaa'
nd@postgres=# \set dbname 'foo_':argument'_bar'
nd@postgres=# select :'dbname';
┌─────────────┐
│  ?column?   │
├─────────────┤
│ foo_aaa_bar │
└─────────────┘

nd@postgres=# create database :dbname;
CREATE DATABASE

nd@postgres=# \l
                                    List of databases
┌─────────────┬──────────┬──────────┬─────────────┬─────────────┬───────────────────────┐
│    Name     │  Owner   │ Encoding │   Collate   │    Ctype    │   Access privileges   │
├─────────────┼──────────┼──────────┼─────────────┼─────────────┼───────────────────────┤
│ foo_aaa_bar │ nd       │ UTF8     │ en_US.UTF-8 │ en_US.UTF-8 │                       │
│ postgres    │ postgres │ UTF8     │ en_US.UTF-8 │ en_US.UTF-8 │                       │
│ template0   │ postgres │ UTF8     │ en_US.UTF-8 │ en_US.UTF-8 │ =c/postgres          ↵│
│             │          │          │             │             │ postgres=CTc/postgres │
│ template1   │ postgres │ UTF8     │ en_US.UTF-8 │ en_US.UTF-8 │ =c/postgres          ↵│
│             │          │          │             │             │ postgres=CTc/postgres │
└─────────────┴──────────┴──────────┴─────────────┴─────────────┴───────────────────────┘

答案 1 :(得分:0)

是;您可以将一个或多个操作链接到ALTER TABLE语法。 参见http://docwiki.embarcadero.com/InterBase/2020/en/ALTER_TABLE

巴特谢娃的上述答案是正确的。