Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование ntext / 15 сообщений из 15, страница 1 из 1
02.07.2002, 11:25:58
    #32034679
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Мне нужно использовать в триггере поля с типом ntext, но не знаю как, в доках сказано, что это невозможно, но мне очень нужно.
...
Рейтинг: 0 / 0
02.07.2002, 11:43:51
    #32034684
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Что значит использовать ?
И какая версия SQL ?
...
Рейтинг: 0 / 0
02.07.2002, 12:02:00
    #32034694
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
SQL Server 2000, pri popitki ispol'zovat local'nuju peremennuju tipa ntext, govorit, chto nel'zja, trigger tipa FOR(AFTER)
...
Рейтинг: 0 / 0
02.07.2002, 12:16:49
    #32034700
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Объявить локальную переменную типа text НЕВОЗМОЖНО.

Да и зачем вам это нужно в триггере ?
...
Рейтинг: 0 / 0
02.07.2002, 12:21:10
    #32034701
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Mne nuzhno pisat' history na izmenenija
...
Рейтинг: 0 / 0
02.07.2002, 12:41:39
    #32034706
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Используйте INSTEAD OF триггеры. Тогда в таблице inserted будет новое значение, а самой таблице - старое
...
Рейтинг: 0 / 0
02.07.2002, 12:43:53
    #32034707
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Eto ja znaju, no u menja ne rabotajet INSTEAD OF trigger, pokazhi
syntaksis
...
Рейтинг: 0 / 0
02.07.2002, 12:52:15
    #32034709
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Обратиться к полям text, ntext, image таблицы inserted действительно нельзя. Можно сделать так: делаем выборку PK (ну или любого уникального поля/набора полей) из inserted, а потом связку нормальной таблицы и inserted через этот ключ. К моменту срабатывания триггера (только не instead of) значения в постоянной таблице уже есть.

select * from t1, inserted where t1.id = inserted.id

Но объявить локальную переменную типа text нельзя в любом случае.
...
Рейтинг: 0 / 0
02.07.2002, 12:58:19
    #32034711
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Mne nuzhno na udalenije i izmenenije zapisej delat' history, v tablicu hi_t1 pisat' starije znachenija.
...
Рейтинг: 0 / 0
02.07.2002, 13:02:15
    #32034712
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
USE pubs
GO

CREATE TRIGGER tu_pub_info ON [dbo].[pub_info] 
INSTEAD OF UPDATE
AS

select a.pr_info, b.pr_info
from inserted a  inner join pub_info b on b.pub_id = a.pub_id

rollback transaction
GO

update pub_info set pr_info = 'xxxxx' where pub_id = '9999'


PS

rollback transaction я добавил, чтобы "не портить" содержимое таблицы
...
Рейтинг: 0 / 0
02.07.2002, 13:22:01
    #32034715
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
U menja pri ispol'zovaniji INSTEAD OF, INCORRECT SYNTAX NEAR 'INSTEAD'
...
Рейтинг: 0 / 0
02.07.2002, 13:24:24
    #32034717
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Database Compatibility Level какой ?
7.0 наверное ?
...
Рейтинг: 0 / 0
02.07.2002, 13:27:54
    #32034718
INsideR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Da, no eto trebovanije zakazchika
...
Рейтинг: 0 / 0
02.07.2002, 13:52:00
    #32034723
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Ну а что вы тогда хотите - по существу вы работаете с SQL 7 и вам придется принять все ограничения этой версии.
...
Рейтинг: 0 / 0
03.07.2002, 00:06:51
    #32034824
Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ntext
Одно, хотя конечно не совсем допустимое по производительности решение - это открытие в триггере курсора и при каждом UPDATE или INSERT работать с ntext старым добрым способом - READTEXT & WRITETEXT. Я так делал на заре своего знакомства с SQL, но теперь имею стойкое отвращение к курсорам - беее... :)

Второе решение - это не создавать поля ntext, а напротив - построить таблицы по принципу - головная таблица, которая фактически содержит заголовок, и детальная таблица с нарезанными кусками текста типа nvarchar (4000). Хотя опять эффективно работать с такой структурой можно только с SQL 2000.

-- Слон
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование ntext / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]