如何添加具有默认值的 NUMBER 列?

How to add NUMBER column with default value?

我正在尝试使用 VBA 将 NUMBER 类型的列添加到我的 table。那对我有用。但我还想将列的默认值设置为 0,这是无法正常工作的。我想我需要一些帮助。

我不想改变一列,我想添加一列,同时设置一个默认值。

以下代码有效,它添加了一个没有任何内容的列。

strSQL = "ALTER TABLE testTable ADD COLUMN testColumn NUMBER;"
dbs.Execute strSQL

但这不起作用并给出错误。

strSQL = "ALTER TABLE testTable ADD COLUMN testColumn NUMBER DEFAULT 0;"
dbs.Execute strSQL

我收到的错误消息是 "Run-time error'3293': Syntax error in ALTER TABLE statement."

默认值仅在用于从 ADO 连接执行的 DDL 中时才有效。我测试过的语法是这样的:

CurrentProject.Connection.Execute "ALTER TABLE testTable ADD COLUMN testColumn NUMBER"
CurrentProject.Connection.Execute "ALTER TABLE testTable ALTER COLUMN testColumn SET DEFAULT 0"

此外,这只会为所有新记录设置 table 的默认值,不会将现有记录修改为 0。如果这也是您的意图,只需 运行 更新查询,喜欢这个

strSQL = "UPDATE testTable SET testTable.testColumn = 0;"
CurrentDb.Execute strSQL