Sybase ASE创建外键约束忽略大小写

时间:2011-12-29 18:43:54

标签: sybase-ase sybase-ase15

我尝试从ASE 15.5MSSQL 2008获取与tableA相同的功能,但不区分大小写。

排序顺序必须保持二进制,以便应用程序在标准模式下工作,但新表 - 产品的增强功能具有外键,我希望它们不区分大小写。

也就是说,如果ABC的值为tableB,则tableA应该能够在aBc上设置外键并插入值create nonclustered index myindex on mytable(**upper**(mycolumn)) 。< / p>

通过这样做,我能够通过索引来解决类似的问题:

select * from mytable where upper(mycolumn) = upper('My Value')

如果我这样做,索引现在用于进行不区分大小写的匹配:

{{1}}

但我无法弄清楚如何处理不区分大小写的外键。

非常感谢任何帮助。 谢谢

2 个答案:

答案 0 :(得分:1)

我认为您需要在新表上编写更新和插入触发器,以对父表列进行相应的检查。 Transact-SQL指南的Chapter 20应该具有完成该任务所需的信息。

答案 1 :(得分:0)

这应该有效

create nonclustered index myindex on mytable(upper(mycolumn))

当你运行这个

select * from mytable where upper(mycolumn) = upper('My Value')
<{1>}在query plan中,您将在查询计划中看到索引myindex。它仅适用于sybase 15