我需要在数据库中的现有表中添加新列。
该列应放置在特定位置。
我知道这可以通过两个单独的命令来完成:
ALTER TABLE MYTABLE
ADD MYCOL INTEGER
ALTER TABLE MYTABLE
ALTER MYCOL POSITION 12
但是有一种方法可以做到这一点吗?
我搜索了Interbase的文档,但没有找到与此相关的内容。
谢谢。
答案 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
巴特谢娃的上述答案是正确的。