如何在Sybase中删除表和列名的区分大小写功能



我是Sybase的新手,我真的觉得为表名和列名编写带有适当大小写的sql很烦人。例如,如果表名是"Employee",我就不能查询为

select * from employee

有没有办法改变Sybase中的这种行为?

我不想改变分拣顺序或其他什么。我正在寻找一个破解绕过这个问题。

干杯!!

正如其他响应中正确指出的那样,这是一个服务器级别的配置设置,可以更改。然而,没有提到的是,在ASE中,区分大小写同样适用于标识符和数据比较。因此,如果您像这里讨论的那样配置不区分大小写的排序顺序,其效果也将是"Johnson"现在被认为等于"Johnson",这可能会在应用程序中造成麻烦。从这个意义上说,ASE不同于其他数据库,在这些数据库中,区分大小写的这两个方面是解耦的。

此行为是服务器排序顺序的结果。这是服务器级别设置,而不是数据库级别设置,因此更改将影响服务器上的所有数据库。此外,如果数据库处于复制状态,则所有连接的服务器也需要更改其排序顺序。

更改排序顺序还需要重新生成系统中的所有索引。

以下是有关选择或更改字符集和排序顺序的正确文档。

配置字符集、排序顺序和语言

如注释中所述,它将需要DBA级别的访问权限,并且在更改生效之前必须重新启动服务器。

最新更新