|
Sybase ASE 15 создание столбцов в таблице
|
|||
---|---|---|---|
#18+
Доброго всем времени суток. Думаю все сталкивались с необходимостью изменять структуру таблиц (апдейт базы). При расширении полей в таблице можем натолкнуться на ситуацию, когда такое поле уже есть. Само собой проверка по типу Код: plaintext 1. 2. 3. 4. 5. 6.
позволяет отследить существование колонки, но скрипт на добавление >10 колонок в таблицу выглядит устрашающе. Появилась идея вынести создание колонки в таблице в отдельную процедуру, куда будет передаваться: имя таблицы + имя колонки + тип данных. С двумя первыми параметрами все понятно, а вот третий - тип данных вызвал у меня небольшой ступор. Как лучше передать в процедуру тип данных? - просто строкой - имхо плохо... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2010, 09:58 |
|
Sybase ASE 15 создание столбцов в таблице
|
|||
---|---|---|---|
#18+
Mikle83 С двумя первыми параметрами все понятно, а вот третий - тип данных вызвал у меня небольшой ступор. Как лучше передать в процедуру тип данных? - просто строкой - имхо плохо... id типа данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2010, 11:06 |
|
Sybase ASE 15 создание столбцов в таблице
|
|||
---|---|---|---|
#18+
В таблице systypes хранятся все известные в БД типы данных - поэтому тип можно задавать числом - значение поля usertype. Но у некоторых типов есть еще 1 - 2 числовых параметра: varchar(25) numeric(12,2) Их в этом случае придется передавать в процедуру отдельными параметрами. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2010, 11:22 |
|
Sybase ASE 15 создание столбцов в таблице
|
|||
---|---|---|---|
#18+
golsaВ таблице systypes хранятся все известные в БД типы данных - поэтому тип можно задавать числом - значение поля usertype. Но у некоторых типов есть еще 1 - 2 числовых параметра: varchar(25) numeric(12,2) Их в этом случае придется передавать в процедуру отдельными параметрами. Это вариант конечно, но надо закладывать максимальное количество параметров в процедуру + анализировать для каких типов использовать один, для каких два, для каких вообще не использовать... В этом разрезе вариант с текстовым наименованием типа данных выглядит уже более привлекательно :) - проверять наличие такого типа в базе и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2010, 11:26 |
|
Sybase ASE 15 создание столбцов в таблице
|
|||
---|---|---|---|
#18+
В результате родилась такая незатейливая процедура, вдруг кому пригодиться... Никаких output параметров пока не предусматривается - результат выполнения только по логу... Но зато позволяет избежать кучи копипастного кода. Код: 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. 35. 36. 37. 38. 39.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2010, 16:56 |
|
|
start [/forum/topic.php?fid=55&fpage=27&tid=2010589]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 302ms |
total: | 452ms |
0 / 0 |