向 DB2/400 表添加具有特定序数位置的列

发布于 2024-08-08 03:40:51 字数 81 浏览 5 评论 0 原文

AS400/iSeries/System-i/whatever 上是否有 SQL 命令可以将列添加到表中的特定序数位置,或将现有列移动到不同的位置?

Is there an SQL command on the AS400/iSeries/System-i/whatever to add a column to a table in a specific ordinal position, or moving an existing column to a different position?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扎心 2024-08-15 03:40:51

IBM i 7.1 现在允许您在另一列前面添加一列。

ALTER TABLE 表 ADD COLUMN colname ... BEFORE othercolumn

IBM i 7.1 now allows you to add a column in front of another.

ALTER TABLE table ADD COLUMN colname ... BEFORE othercolumn

Oo萌小芽oO 2024-08-15 03:40:51

不。 ALTER TABLE 语句将允许您向表中添加一列,但是,根据文档:

新列是表的最后一列;也就是说,如果最初有n列,则添加的列是第n+1列。

如果您想更改表中列的顺序,最好的选择是:

  1. 使用 RENAME 语句来重命名表。
  2. 重新创建表,使用其原始名称,并按您想要的顺序排列列。
  3. 使用 INSERT SELECT 使用重命名表中的数据填充新表。
  4. 当您确定数据完好无损时,您可以删除表的重命名版本。

No. The ALTER TABLE statement will allow you add a column to a table, but, according to the documentation:

The new column is the last column of the table; that is, if initially there are n columns, the added column is column n+1.

If you'd like to change the order of columns in your table, your best bet is to:

  1. Use the RENAME statement to rename the table.
  2. Recreate the table, with its original name, with the columns in the order that you want.
  3. Use an INSERT SELECT to populate the new table with the data from the renamed table.
  4. When you're sure the data is intact, you can drop the renamed version of the table.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文