我想知道是否有人能告訴我這個函數是否符合ANSI SQL標準,並且爲了將來的參考有任何資源可以用來查找我的SQL是否符合ANSI標準。而我正在使用的DBMS是MySQL。此函數是否符合ANSI SQL標準?
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;
一般來說,我只是建議獲得MS SQL Express的副本並在那裏運行你的功能。如果它運行在MySql中,並且它運行在MS SQL中,那麼你應該很好。 –
這對Linux人不起作用,更重要的是仍然不能保證符合標準。 – mvp
@mvp,如果他真的需要100%積極服從,那麼是的,他可以去獲得官方文件並通過和通過學習。或者他可以按照我的建議進行操作,在極少數情況下,他所編寫的內容可以在這兩個平臺上運行,但仍不符合SQL,並且不會在其他目標平臺上運行(這是目標,對不對?)他可以在他們出現時解決這些問題。 –