Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как получить текст триггеров из БД?  [new]
Yuri_dp
Member

Откуда: Днепропетровск
Сообщений: 305
Всем доброго времени суток!

Пробую получить текст триггеров из БД (из таблицы syscomments, поле text) с помощью следующего запроса:
select a.name, b.text
from sysobjects a inner join syscomments b on a.id = b.id
where a.XType = 'TR'

Но почему-то текст триггера получаю неполный (разорван посередине слова).

Чего делать?
3 дек 04, 16:07    [1156860]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Для чего Вам нужен текст триггера?
3 дек 04, 16:18    [1156929]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
sp_helptext
3 дек 04, 16:20    [1156940]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31607
Yuri_dp
Но почему-то текст триггера получаю неполный (разорван посередине слова).

Чего делать?


Нужно в настройках QA изменить длинну выводимого текста, у вас он просто обрезается.

И ещё у вас ошибка, нужно так:
select a.name, b.text
from sysobjects a inner join syscomments b on a.id = b.id
where a.XType = 'TR'
order by a.id, b.colid
3 дек 04, 16:31    [1157007]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
Yuri_dp
Member

Откуда: Днепропетровск
Сообщений: 305
alexeyvg
Yuri_dp
Но почему-то текст триггера получаю неполный (разорван посередине слова).

Чего делать?


Нужно в настройках QA изменить длинну выводимого текста, у вас он просто обрезается.

И ещё у вас ошибка, нужно так:
select a.name, b.text
from sysobjects a inner join syscomments b on a.id = b.id
where a.XType = 'TR'
order by a.id, b.colid


Спасибо за совет, помогло!
А зачем сортировку менять?
3 дек 04, 16:34    [1157024]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
а это на случай длинного текста(>4000 символов)
3 дек 04, 16:39    [1157053]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
Yuri_dp
Member

Откуда: Днепропетровск
Сообщений: 305
Всем спасибо!
3 дек 04, 17:00    [1157157]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как получить текст триггеров из БД?  [new]
teCa
Member

Откуда:
Сообщений: 685
alexeyvg
Yuri_dp
Но почему-то текст триггера получаю неполный (разорван посередине слова).

Чего делать?


Нужно в настройках QA изменить длинну выводимого текста, у вас он просто обрезается.

И ещё у вас ошибка, нужно так:
select a.name, b.text
from sysobjects a inner join syscomments b on a.id = b.id
where a.XType = 'TR'
order by a.id, b.colid


А можно ли получить таблицу, на которой создан этот триггер?
25 ноя 20, 14:00    [22238325]     Ответить | Цитировать Сообщить модератору
 Re: Как получить текст триггеров из БД?  [new]
iap
Member

Откуда: Москва
Сообщений: 47025
Текст триггера:
SELECT OBJECT_DEFINITION(OBJECT_ID(N'ИмяТриггера','TR'));

Таблица триггера:
SELECT QUOTENAME(SCHEMA_NAME(schema_id))+N'.'+QUOTENAME(OBJECT_NAME(parent_object_id)) FROM sys.objects WHERE name=N'ИмяТриггера' AND type='TR';
25 ноя 20, 15:51    [22238371]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить