|
|
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Нужен запрос по системным таблицам - как найти процедуры в тексте которых встечаеться определенный текс? Нет времени самому разобраться -плиз кинте готовый - горю по двум проектам.... -после долгого перерыва вернулся на sql 2000 :)) -соответственно sql2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:33:34 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
select so.name from syscomments sc, sysobjects so where sc.text like '%mysearch%' and sc.id = so.id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:41:39 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:41:48 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Спасибо! Спасаете от потопления! у GreenSunrise вернула 8 сторк у jimmers -5 ща бубу смотреть кто правильней оказался :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:49:39 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Через INFORMATION_SCHEMA правильнее должно быть :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:55:51 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Вариант GreenSunrise правильный (только distinct добавить) в данном случае. Все из-за того, что в INFORMATION_SCHEMA.ROUTINES поле ROUTINE_DEFINITION nvarchar(4000), то есть для длинных процедур облом. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 14:02:34 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Неа, jimmers, вы неправы. В syscomments поле text тоже имеет тип nvarchar(4000), там есть еще поле colid, в котором хранится порядковый номер для объектов со слишком длинным текстом. Насчет distinct - ну да :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 14:18:16 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Тем не менее "облом" может наступить: если искомое слово будет разбито на две записи. Как это учесть я например не представляю. Правда вероятность небольшая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 14:33:15 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
SergSuper, а мысль прикольная... Это мне в голову не пришло. Попробовать, конечно, можно, но совсем уж простым запросом тут не обойдешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 14:37:48 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
А как насчет криптованных процедур? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 14:56:37 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
так получается нашлись только те проц в которых искомая строка не разбита? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 15:01:40 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
и которые не криптованные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 15:08:09 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
По поводу как искать если разбита на две строки - общие соображения - без курсора не обойтись -открываем курсор - берем длину искомой подстроки -возвращаем из текуший записи эту длину с конца - берем следущую возвращаем длину с начала -полученные куски складываем и проверяем на вхождение -если есть то это наша искомая проц .... мож и придёться делать если всё таки на тестировании баги полезут - так вроде вернулось то что надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 15:21:55 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
НЕТ КУРСОРАМ!!!!! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 15:34:09 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Ну вот одну не отловила и даже последний запрос не помог :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 15:40:20 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
2GreenSunrise: Неа, jimmers, вы неправы. В syscomments поле text тоже имеет тип nvarchar(4000), там есть еще поле colid, в котором хранится порядковый номер для объектов со слишком длинным текстом. В том-то и дело, что в syscomments тело процедуры может быть разбито части. Ваш запрос найдет те из них, которые имеют искомую строку в области > 4000 символов... Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 16:18:23 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Вау. То есть в исходных таблицах (типа syscomments) все хранится целиком (пусть и разбитое на части, но можно вытянуть все), а в системной вьюхе будет выбрана только часть?! Это правда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 16:28:44 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
К сожалению, да.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 16:31:28 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
У MS еще не то можно встретить: Код: 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. Как Вам ЭТО - CREATED = o.crdate, LAST_ALTERED = o.crdate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 16:34:32 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
А вот насчет LAST_ALTERED - все нормально, Представление это должно соответствовать SQL-92, а сервер не хранит информацию о дате последнего изменения (по умолчанию, по крайней мере)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 17:03:54 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
LAST_ALTERED - The last time the function was modified. bol-Transact-SQL Reference-Information Schema Views -ROUTINES ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 17:34:07 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 17:35:13 |
|
||
|
Плиз! срочно!
|
|||
|---|---|---|---|
|
#18+
Еще один вариант ;-) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 15:56:05 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32050051&tid=1818571]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 294ms |

| 0 / 0 |
