此功能是否符合ANSI SQL标准?

时间:2012-12-20 10:40:42

标签: mysql sql function standards ansi-sql

我想知道是否有人可以告诉我这个函数是否遵循ANSI SQL标准,并且为了将来参考,我可以使用任何资源来查找我的SQL是否符合ANSI标准。我使用的DBMS是MySQL。

CREATE FUNCTION INCREMENT()
RETURNS INT
BEGIN
    DECLARE oldVal INT;
    DECLARE newVal INT;
    SELECT currentVal INTO oldVal FROM atable FOR UPDATE;
    SET newVal=oldVal +1;
    UPDATE atable SET currentVal=newVal;
    RETURN newVal;
END;

2 个答案:

答案 0 :(得分:0)

找到一个验证工具,可以检查您的SQL是否符合SQL 2003 http://developer.mimer.com/validator/parser200x/index.tml

答案 1 :(得分:0)

基于此评论

  

如果我做UPDATE,基本上我需要检索新的更新值   表SET current = current + 1然后执行select来获取   新价值,这可能导致问题,如果另一个交易   更新和选择之间的更新。

我认为您的问题与SQL标准没有任何关系。我认为您的问题与transactionstransaction isolation levels.

有关