MySQL 8窗口函数语法问题

时间:2018-07-16 22:16:05

标签: mysql mysql-workbench

我需要在MySQL中使用窗口函数。我正在使用MySQL Server 8.0.11,甚至是MySQL Workbench 8.0.11(开发版本,而不是GA)。

这应该使Workbench可以读取窗口功能。以前,它们只是可以工作,但是我需要Workbench可以读取它们,以便将它们存储为过程。

当我做一个简单的查询时,我不断得到:

  

对于该服务器版本,“ SELECT”在此位置是无效输入,期望:'(',WITH

但是,如果我运行查询,它将起作用!只是我不能将其存储为过程。您可以在屏幕截图中看到查询和问题。

Screenshot

有人可以帮助我吗?非常感谢。

编辑:

我添加了屏幕截图,以便您可以看到错误出现的位置。无论如何,这是代码,并且错误出现在第一个SELECT中:

public class StarterActivity extends AppCompatActivity {

    private Handler handler;
    private Runnable myStuffRunnable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        handler = new Handler();
        myStuffRunnable = new Runnable(){
            public void run(){
                // DO MY STUFF
                MainActivity.start(this);
            }
        };
    }

    @Override
    protected void onPause() {
        handler.removeCallbacks(myStuffRunnable);
        super.onPause();
    }

    @Override
    protected void onResume() {
        super.onResume();
        handler.post(myStuffRunnable);
    }

    @Override
    protected void onDestroy() {
        handler.removeCallbacks(myStuffRunnable);
        super.onDestroy();
    }
}

1 个答案:

答案 0 :(得分:1)

我在使用MYSQL 8.0.11中的Window函数时遇到了麻烦,在这些情况下它们将作为工作台查询执行但无法保存到SP。

今天早上,我同时将Server和Workbench升级到8.0.12,并且Windows功能现在可以正常工作了,我可以保存到SP。我建议您尝试一下。