我可以将这两个SQL查询合并到单个查询中吗?

时间:2009-12-07 12:15:00

标签: sql ms-access

我可以将这两个SQL查询合并到单个查询中吗?

QUERY1

ALTER TABLE tableA
ADD datam INTEGER;

QUERY2

UPDATE tableA SET datam = DateDiff("m",[call_date],#12/1/2009#);

3 个答案:

答案 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