Выполнение, если... еще существует..., включает выполнение двух минимумов запросов (один для проверки, один для принятия мер). Следующий подход требует только одного, где запись существует, два, если вставка требуется:
DECLARE @RowExists bit
SET @RowExists = 0
UPDATE MyTable SET DataField1 = 'xxx', @RowExists = 1 WHERE Key = 123
IF @RowExists = 0
INSERT INTO MyTable (Key, DataField1) VALUES (123, 'xxx')
Пробовали ли вы XRegExp и плагин Unicode ?
<script src="xregexp.js"></script>
<script src="xregexp-unicode.js"></script>
<script>
var unicodeWord = XRegExp("^\\p{L}+$");
alert(unicodeWord.test("Ниндзя")); // -> true
</script>
Вы можете найти множество жалоб на текущие спецификации ECMA для регулярных выражений, которые не работают с символами Юникода должным образом. Например, запись в блоге Скотта Хансельмана , которая ссылается на вопрос SO; -)
«Настоящего» решения этой проблемы пока нет, но взгляните на ответы Javascript + Unicode regexes (ваш вопрос более или менее дублирует этот) (правка: я беру это обратно, Плагин юникода, который предлагает Джонатан Лоновски, выглядит довольно красиво)