我是Sybase的新手,我真的觉得编写带有适当的表名和列名的sql很烦人。例如,如果表名是'员工'我无法查询,
select * from employee
有没有办法在Sybase中更改此行为?
我不想更改排序顺序或其他任何内容。我正在寻找一个能够绕过这个问题的黑客。
干杯!!
答案 0 :(得分:1)
正如其他响应中正确指出的那样,这是一个服务器级配置设置,可以更改。 但是,没有提到的是,在ASE中,区分大小写同样适用于标识符以及数据比较。因此,如果您按照此处的讨论配置不区分大小写的排序顺序,那么效果也将是' Johnson'现在考虑等于' JOHNSON' - 这可能会给应用程序带来麻烦。 从这个意义上讲,ASE与其他数据库不同,后者区分大小写的这两个方面是分离的。
答案 1 :(得分:0)
此行为是服务器排序顺序的结果。这是服务器级别设置,而不是数据库级别设置,因此更改将影响服务器上的所有数据库。此外,如果数据库处于复制状态,则所有连接的服务器也需要更改其排序顺序。
更改排序顺序还需要您重建系统中的所有索引。
以下是有关选择或更改字符集和排序顺序的正确文档。
Configuring Character Sets, Sort Orders, and Languages
如评论中所述,它将需要DBA级别访问,并且必须重新启动服务器才能使更改生效。