查询查询变量作用域

Jam*_*ler 4 coldfusion qoq coldfusion-11

在使用查询查询时是否可以对变量进行范围调整?这有效

return queryExecute("
        SELECT Title, Slug, Menu, MenuOrder
        FROM qryResult
        WHERE Menu = 'Y'
        ORDER BY MenuOrder
        ",
        [],
        {dbtype = "query"}
        );
Run Code Online (Sandbox Code Playgroud)

这不起作用.它抛出一个错误

return queryExecute("
        SELECT Title, Slug, Menu, MenuOrder
        FROM local.qryResult
        WHERE Menu = 'Y'
        ORDER BY MenuOrder
        ",
        [],
        {dbtype = "query"}
        );
Run Code Online (Sandbox Code Playgroud)

消息
查询查询语法错误.
遇到"本地.StackTrace java.sql.SQLException:
查询查询语法错误.
遇到"本地.at coldfusion.sql.imq.jdbcStatement.parseSQL(jdbcStatement.java:590)at coldfusion.sql.imq.jdbcStatement.fetchResult(jdbcStatement.java:547)at ORDER BY MenuOrder",[],{dbtype ="query"} );

Beg*_*ner 7

LOCAL在保留字ColdFusion Query of QuerySQL.

所以,LOCALsquare brackets[]这样包装:

return queryExecute("
        SELECT Title, Slug, Menu, MenuOrder
        FROM [local].qryResult
        WHERE Menu = 'Y'
        ORDER BY MenuOrder
        ",
        [],
        {dbtype = "query"}
        );
Run Code Online (Sandbox Code Playgroud)

要么

使用一些其他名称作为功能本地范围,即,

var newLocal = structNew();
newLocal.qryResult = queryNew("");
return queryExecute("
        SELECT Title, Slug, Menu, MenuOrder
        FROM newLocal.qryResult
        WHERE Menu = 'Y'
        ORDER BY MenuOrder
        ",
        [],
        {dbtype = "query"}
        );
Run Code Online (Sandbox Code Playgroud)