![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
key | value | +-----+-------+ KEY | VALUE | +-----+-------+ |
#2
| |||
| |||
|
|
My situation is the following: suppose you have something like: CREATE TABLE t1( mykey VARCHAR(255) primary key, myvalue VARCHAR(255) ); Since Sybase is case-sensitive over the column values, something like this would be allowed: INSERT INTO t1(mykey, myvalue) VALUES('key', 'value'); INSERT INTO t1(mykey, myvalue) VALUES('KEY', 'VALUE'); Result: +-----+-------+ | key | value | +-----+-------+ | KEY | VALUE | +-----+-------+ I actually want to prevent this, and the second insertion should fail forduplicated key. Anyway, if I want to modify the value of any other column which is not primary key, for example from 'value' to 'VaLuE', I want to beable to do that, preserving the case insensitivity constraint only on the primary key. This is possible on Oracle by creating an upper/lower case index on the table: CREATE INDEX myindex ON t1(UPPER(mykey)); Anyway this doesn't seem to work on Sybase, since the duplicated-case insertion is still allowed. I've found some hints around the web which would act on the DBMS configuration, through sp_configure/sp_text_configure, but I want to avoid such an intrusive solution, and apply the case sensitivity ONLY to some specific tables and ONLY on the primary keys of those tables, like I do on Oracle by creating the index through the syntax shown above. Is this possible on Sybase? Thanks, -- Fabio |
![]() |
| Thread Tools | |
| Display Modes | |
| |