Alb*_*lal 39

Access 2010具有存储过程,还具有表触发器.并且,即使您不使用服务器,这两个功能也可用(因此,在100%基于文件的模式下).

如果您使用带有Access的SQL Server,那么存储过程当然是使用SQL Server而不是Access构建的.

对于Access 2010,您打开表(非设计视图),然后选择表选项卡.您可以在那里看到创建存储过程和表触发器的选项.

例如:

替代文字

请注意,存储过程语言就像Oracle或SQL Server(T-SQL)一样.以下是更新水果订单表中更新结果库存的示例代码 替代文字

请记住,这些是真正的引擎级表触发器.事实上,如果你用VB6,VB.NET,FoxPro打开那个表,甚至在已经安装了Access的计算机上修改表,那么将执行表级的过程代码和触发器.因此,这是Access 2010的数据引擎jet(现在称为ACE)的一个新功能.如上所述,这是运行的过程代码,而不仅仅是单个语句.

  • Aaron,上面的答案与 SQL Server 无关。您觉得这些屏幕截图看起来像 SQL Server 吗? (2认同)

Fio*_*ala 7

如果您指的是在2010年之前在SQL Server中找到的过程类型,则不能.如果需要接受参数的查询,可以使用查询设计窗口:

 PARAMETERS SomeParam Text(10);
 SELECT Field FROM Table
 WHERE OtherField=SomeParam
Run Code Online (Sandbox Code Playgroud)

你也可以说:

CREATE PROCEDURE ProcedureName
   (Parameter1 datatype, Parameter2 datatype) AS
   SQLStatement
Run Code Online (Sandbox Code Playgroud)

来自:http://msdn.microsoft.com/en-us/library/aa139977(office.10).aspx #acadvsql_procs

请注意,该过程只包含一个语句.