我可以将这两个SQL查询合并到单个查询中吗?
QUERY1
ALTER TABLE tableA
ADD datam INTEGER;
QUERY2
UPDATE tableA SET datam = DateDiff("m",[call_date],#12/1/2009#);
答案 0 :(得分:7)
没有。第一个实际上不是'查询'。这是Data Definition Language
的陈述答案 1 :(得分:0)
您可以创建帮助PROCEDURE
来添加计算的默认值,例如(ANSI-92 Query Mode访问数据库引擎SQL语法):
CREATE PROCEDURE CreateTableAThing
(
arg_my_key_column CHAR(10),
arg_call_date DATETIME
)
AS
INSERT INTO tableA (my_key_column, call_date, datam)
SELECT arg_my_key_column, arg_call_date, DATEDIFF('m', [arg_call_date], #2009-12-01 00:00:00#)
FROM MyOneRowAuxilliaryTable;
您也可以再次为UPDATE
创建辅助函数以保持默认值。
然后,您可以从表中删除INSERT
/ UPDATE
权限,强制所有应用程序和用户通过您的帮助程序进行操作,以确保正确应用默认值。
答案 2 :(得分:0)
您是否考虑过运行查询的宏?有关详细信息,请参阅http://office.microsoft.com/en-us/access-help/runsql-macro-action-HA001226285.aspx。