Функция обновления в триггере TSQL

Если пользователь входит hey!, Вы хотите отобразиться hey! или hey!? Если первое, выйдите из меньше-thans, и HTML - кодирует амперсанды (и дополнительно заключает в кавычки), и Вы в порядке. Модификация к Вашему коду для реализации второй опции была бы:

replaceAll("\\<[^>]*>","")

, но Вы столкнетесь с проблемами, если пользователь введет что-то уродливое, как .

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

проблема с попыткой разделить HTML состоит в том, что браузеры имеют очень снисходительные синтаксические анализаторы, более снисходительные, чем какая-либо библиотека, которую можно найти, будет, поэтому даже если Вы приложите все усилия для разделения всех тегов (использующий метод замены выше, библиотека DOM или JTidy), Вы будете все еще потребность удостовериться, что закодировали любые остающиеся специальные символы HTML для защиты вывода.

23
задан marc_s 8 August 2009 в 14:50
поделиться

2 ответа

UPDATE () может быть истинным, даже если это то же значение. Я бы не стал на это полагаться лично и сравнивал бы значения.

Во-вторых, DELETED и INSERTED имеют одинаковое количество строк.

Функция Update () не соответствует ряд, но по всем рядам. Еще одна причина не использовать его.

Подробнее здесь, в MSDN , но на самом деле он немного скудный.

После комментария:

IF EXISTS (
    SELECT
        *
    FROM
        INSERTED I
        JOIN
        DELETED D ON I.key = D.key
    WHERE
        D.valuecol <> I.valuecol --watch for NULLs!
    )
   blah
20
ответ дан 29 November 2019 в 01:10
поделиться

Триггер обновления срабатывает для всех операторов обновления. затронутые строки доступны в триггере во «вставленных» и «удаленных» таблицах. Вы можете сравнить старые и новые значения, сравнив столбцы PK в двух таблицах (если у вас есть PK). Фактическая таблица остается неизменной до тех пор, пока триггер не завершит выполнение.

0
ответ дан 29 November 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: