-
Допустимо ли такое использование кирилицы в PL/SQL?
.....
if mytable.myfield='Ы' then
.....
Сам так никогда не извращаюсь.
Просто интересно послушать, что скажут умные люди.
-
вполне
-
Странно, но мне кажется, что допустимо, но "не правильно".
-
Требуется уточнение.
Данные, описывающие некоторую сущность, живут в одной таблице.
И есть поле - NameFull, где живёт имя.
Собственно, вопрос в том, можно ли, зная, что в данный момент все имена начинаются с 'Ы' использовать такую конструкцию в хранимке на PL/SQL
(проверка первого символа имени поля на равенство 'Ы')?
Особенно, учитывая тот факт, что юзерский интерфейс приложения допускает смену любого наименования, что приведёт к неработоспособности функционала.
-
> Собственно, вопрос в том, можно ли, зная, что в данный момент
> все имена начинаются с 'Ы' использовать такую конструкцию
> в хранимке на PL/SQL
> (проверка первого символа имени поля на равенство 'Ы')?
первый символ поля проверяется как SUBSTR(mytable.myfield,1,1) = 'Ы'
Ответ на вопрос - можно. Но если завтра имена будут начинаться на 'Ъ', то хранимку придется переписывать.
-
Вот именно из-за того, что "хранимку придется переписывать", я и считаю, что использование аналогичных конструкций не есть правильно.
-
>keymaster © (19.04.08 09:10) [5]
это называется хардкод
причем здесь кириллица?
-
> это называется хардкодпричем здесь кириллица?
Использование кирилицы - частный случай хардкода.
-
> Использование кирилицы частный случай хардкода.
Передавай параметром
-
Я всегда параметры использую.
-
> keymaster © (21.04.08 11:08) [9]
> Я всегда параметры использую.
Если их есть кому передать. :)
ИМХО : проблема не подходе к использованию кирилицы, а в неправильной архитектуре БД (алгоритм поиска может поменятся из-за изменения вносимых данных).
Использование кирилицы в литералах на пл/скл вполне допустимо.
Правило хорошего тона : если литерал используется в коде несколько раз - засунь его в константу, будет легче править.
да, кстати, поиск по первому символу в поле делается не через ИФ, а через
select * from T1 where FIO like 'Ы%'.
-
> keymaster © (21.04.08 10:07) [7]
> Использование кирилицы - частный случай хардкода.
в чем вопрос-то?
можно или нет использовать в коде if mytable.myfield='Ы' then?
ответ: да, можно, используйте)
только аккуратнее при экспорте/импорте
можете и переменные/программные юниты/таблицы/поля в кириллице называть - кто ж запретит-то?
-
"Можно/неможно" - вопрос не о том, "проглотит" это компилятор или нет.
Такая конструкция синтаксически допустима.
Вопрос, скорее, из области "хорошо ли так делать".
Я вообще противник хардкода.
-
> Я вообще противник хардкода.
Зависит от задачи. Ищи точки вариации в них и предусматривай возможность расширения. В остальных места зачем?
-
> Вопрос, скорее, из области "хорошо ли так делать".
Вполне нормально и не всегда это хардкорд.
Зависит от задачи. Если этот литерал потом будет меняться - надо подумать насчет справочника настроек. А лучше вообще вынести признак в отдельное поле.
-
>keymaster © (21.04.08 13:25) [12]
тогда и тема должна звучать, например, так: хардкод - "за" и "против"))
хардкод допустим и уместен там, где он допустим и уместен
для Вашего конкретного случая дать какой-либо однозначный совет не представляется возможным, ибо нет конкретики