我想用SQL语句王Access数据库中写一个存储过程:
CREATE PROCEDURE Members_select1 
(
  @MembersID int

AS 
select PSW from Members where ID=@MembersID 
RETURN
结果报错误,就是执行不了.后在SQL Server上试验成功了.难道是Access不支持带参数的存储过程??

解决方案 »

  1.   

    我今天试验了,最好不要用ACCESS的存储过程。其实 access 本来就没有存储过程的概念缺点如下:1、access 不支持多SQL语句,
    2、access 的存储过程没有输出参数
    3、access 的存储过程不支持逻辑判断,循环语句等等
    4、access 的存储过程不支持事务。只能在存储过程中 干吧吧的 写一条语句,毫无意义
      

  2.   

    注意:把 int 改成 Integer 试试不要使用@字符。 @字符通常用于Transaction SQL( SQL SERVER),代表一个本地变量 。 Access不总是会转换这个字符, 有时会将它省略。这个问题可能导致很难找的BUG, 会使你多掉几把头发。 
      

  3.   

    Access数据库中存储过程只需select PSW from Members where ID=@MembersID;就行了
      

  4.   

    1、access 不支持多SQL语句,
    2、access 的存储过程没有输出参数
    3、access 的存储过程不支持逻辑判断,循环语句等等
    4、access 的存储过程不支持事务。只能在存储过程中 干吧吧的 写一条语句,毫无意义这个解释的很清楚了,而且Access中的存储过程被称做“查询”,有些带参的会被识别成函数,
    有些会被识别成视图 。加参的时候还要注意参数顺序的问题,就是说你在调用该查询(存储过程的)时候,如果该查询含多个参数,赋值一定要根据查询中参数顺序赋值,当然还要注意类型了。 
    Access的查询语句和Sql Server存储过程语句语法大部分是相同的,有些地方他还可以自动为你修正。可以直接拿过来试试。