![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PL/SQL и кирилица
keymaster © (2008-04-18 16:44:00)Допустимо ли такое использование кирилицы в PL/SQL?
.....
if mytable.myfield='Ы' then
.....
Сам так никогда не извращаюсь.
Просто интересно послушать, что скажут умные люди.
Кщд (2008-04-21 13:43:00) [1]>keymaster © (21.04.08 13:25) [12]
тогда и тема должна звучать, например, так: хардкод - "за" и "против"))
хардкод допустим и уместен там, где он допустим и уместен
для Вашего конкретного случая дать какой-либо однозначный совет не представляется возможным, ибо нет конкретики
ANB (2008-04-21 13:29:00) [2]
> Вопрос, скорее, из области "хорошо ли так делать".
Вполне нормально и не всегда это хардкорд.
Зависит от задачи. Если этот литерал потом будет меняться - надо подумать насчет справочника настроек. А лучше вообще вынести признак в отдельное поле.
Kolan (2008-04-21 13:28:00) [3]> Я вообще противник хардкода.
Зависит от задачи. Ищи точки вариации в них и предусматривай возможность расширения. В остальных места зачем?
keymaster (2008-04-21 13:25:00) [4]"Можно/неможно" - вопрос не о том, "проглотит" это компилятор или нет.
Такая конструкция синтаксически допустима.
Вопрос, скорее, из области "хорошо ли так делать".
Я вообще противник хардкода.
Кщд (2008-04-21 12:54:00) [5]
> keymaster © (21.04.08 10:07) [7]
> Использование кирилицы - частный случай хардкода.
в чем вопрос-то?
можно или нет использовать в коде if mytable.myfield='Ы' then?
ответ: да, можно, используйте)
только аккуратнее при экспорте/импорте
можете и переменные/программные юниты/таблицы/поля в кириллице называть - кто ж запретит-то?
ANB (2008-04-21 12:00:00) [6]
> keymaster © (21.04.08 11:08) [9]
> Я всегда параметры использую.
Если их есть кому передать. :)
ИМХО : проблема не подходе к использованию кирилицы, а в неправильной архитектуре БД (алгоритм поиска может поменятся из-за изменения вносимых данных).
Использование кирилицы в литералах на пл/скл вполне допустимо.
Правило хорошего тона : если литерал используется в коде несколько раз - засунь его в константу, будет легче править.
да, кстати, поиск по первому символу в поле делается не через ИФ, а через
select * from T1 where FIO like 'Ы%'.
keymaster (2008-04-21 11:08:00) [7]Я всегда параметры использую.
Kolan (2008-04-21 10:21:00) [8]> Использование кирилицы частный случай хардкода.
Передавай параметром
keymaster (2008-04-21 10:07:00) [9]
> это называется хардкодпричем здесь кириллица?
Использование кирилицы - частный случай хардкода.
Кщд (2008-04-21 06:39:00) [10]>keymaster © (19.04.08 09:10) [5]
это называется хардкод
причем здесь кириллица?
keymaster (2008-04-19 09:10:00) [11]Вот именно из-за того, что "хранимку придется переписывать", я и считаю, что использование аналогичных конструкций не есть правильно.
Игорь Шевченко (2008-04-18 22:48:00) [12]
> Собственно, вопрос в том, можно ли, зная, что в данный момент
> все имена начинаются с 'Ы' использовать такую конструкцию
> в хранимке на PL/SQL
> (проверка первого символа имени поля на равенство 'Ы')?
первый символ поля проверяется как SUBSTR(mytable.myfield,1,1) = 'Ы'
Ответ на вопрос - можно. Но если завтра имена будут начинаться на 'Ъ', то хранимку придется переписывать.
keymaster (2008-04-18 17:12:00) [13]Требуется уточнение.
Данные, описывающие некоторую сущность, живут в одной таблице.
И есть поле - NameFull, где живёт имя.
Собственно, вопрос в том, можно ли, зная, что в данный момент все имена начинаются с 'Ы' использовать такую конструкцию в хранимке на PL/SQL
(проверка первого символа имени поля на равенство 'Ы')?
Особенно, учитывая тот факт, что юзерский интерфейс приложения допускает смену любого наименования, что приведёт к неработоспособности функционала.
keymaster (2008-04-18 16:49:00) [14]Странно, но мне кажется, что допустимо, но "не правильно".
Игорь Шевченко (2008-04-18 16:45:00) [15]вполне