Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

вполне


Наверх

Титульная страница Поиск, карта сайта Написать письмо