收到错误:"关键字ORDER未预期"创建AS400视图时

时间:2017-04-12 09:57:50

标签: sql view ibm-midrange iseries-navigator

我正在使用System i Navigator来创建View。 我的观点非常简单:

var json = client.DownloadString(item.uri);
dynamic holdJson= JsonConvert.DeserializeObject(json);

foreach(var item in holdJson) {
    item.setKey("replacement"); ?
}

单击“确定”按钮创建视图时,出现以下错误:

  

SQL0199]不期望关键字ORDER。有效代币:。原因。 。 。 。 。 :这里不期望关键字ORDER。在关键字ORDER处检测到语法错误。有效令牌的部分列表是。

当我删除ORDER BY语句时,视图正在成功创建。

我需要使用ORDER BY语句创建我的视图,如何在没有错误的情况下完成此任务?

1 个答案:

答案 0 :(得分:4)

视图是关系表,关系模型将表定义为一组行。由于集合不是按顺序排序的 - 因此视图中的行也不是有序的。因此,视图定义中的ORDER BY子句毫无意义。 SQL标准(SQL:2003)不允许ORDER BY语句中的子选择中的CREATE VIEW子句,就像CREATE TABLE语句中不允许的那样。

在您的情况下,我建议创建不带ORDER BY语句的视图,并在从视图中选择时使用此语句(而不是在创建时)。