|
|
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
люди, подскажите плиз как сделать... база данных Парус 7, во всех таблицах уникальные идентификаторы называются как правило RN и создаются как 4-х значные текстовые поля из чисел и латинских букв в разных регистрах. как-то давно пытался расковырять исходник, но что-то не получилось, а сейчас вот решил поробовать написать собственную функцию. видимо нужно чтоб она искала максимальный RN и добавляла по какой-то схеме что-то к нему. +1 понятное дело не прокатит, что-то тормознулся в общем. select max(rn) from &table_podst максимальное значение видимо вот так. хочется написать универсальную функцию, чтоб название таблицы передавалось как параметр и поэтому использую макроподстановку. а еще подскажите как присвоить переменной результат запроса? где-то видел, но не помню как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 17:44 |
|
||
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
Hi alex_dch! Нормальные схемы НЕ используют SELECT MAX(...) - они хранят в специальной системной табличке "последний использованный" код, и в процедуре блокируют эту табличку (или нужную запись в ней), наращивают код, разблокируют и возвращают. ПОИСК по NewID тут и на forum.foxclub.ru (на забывая про тамошний архивный раздел) откроют глаза. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 03:06 |
|
||
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
------------------------------------------------------------------------------------ Код: plaintext В каждой таблице, как ты уже упомянул есть уникальный индификатор RN C(4). У них есть свободная таблица Tables.dbf, которая лежит где и Parus.dbc. Структура Tables.dbf(основные поля): File_name - имена таблиц БД Name - пояснение Gen_id - последний уникальный ключ в таблице RnFile_nameNameGen_id...0001TABLESТаблицы0000...0002UNITSРазделы00J2...0003ACATALOGКаталоги00yb... Фрагмент проги: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 08:52 |
|
||
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
http://www.parus.ru/index.php?page=100&mode=thread&sub=22826 Можно еще поискать по парусячьему форуму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 12:48 |
|
||
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
To: Grumax_user Если Вы хотите отредактировать - опубликуйте исправленный вариант и попросите заменить его у модератора... Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 14:05 |
|
||
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
To: Sergey Ch Поимеем в виду, но это ИМХО геморойно для Вас... ------------------------------------------------------------------------------------ Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 14:42 |
|
||
|
процедура для уникального идентификатора поля
|
|||
|---|---|---|---|
|
#18+
Grumax_userTo: Sergey Ch Поимеем в виду, но это ИМХО геморойно для Вас... Согласен... Но как говорят иностранцы - "ну что я могу сделать - это не в моей власти".... Лично я на других форумах просто печатаю исправленный вариант и пишу, что мое сообщение от такой-то даты считать устаревшим... But anyway, good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33062358&tid=1594255]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
216ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 579ms |

| 0 / 0 |
