WITH one (x)
AS (SELECT 1 AS x),
two (y)
AS (SELECT x+1 AS y FROM one),
three (z)
AS (SELECT y+1 AS z FROM two)
SELECT what your need from three
where some condition
Тут можно к последнему запросу джойнить one и two по каким либо признакам. Инструмент очень хороший и многие задачи упрощает и делает прозрачнее.
Борис Животное: Моя личная рекомендация - не ваяйте такие конструкции ради взаимодействия с базой. Напишите хранимку, в которой выполните ряд инструкций в рамках транзакции. Колхозить транзакцию на уровне шарпного кода, потом ее откатывать - это много головной боли, разбросанной по местам, где на мой взгляд ее быть не должно.
Захаров Александр: Ctrl-f будет искать слово, а не объект. Shift-F12(я так понимаю что это Find All References) будет искать все упоминания вне зависимости от контекста. Resharper умеет различать место объявления переменной и места ее использования. Для методов - облазит весь проект и покажет где он вызывается и кем. + форматирования вывода очень удобное.
e1s: Ну как бы в этом и проблема и поэтому хочется иметь вашу задачу, чтобы понять почему решение у вас родилось таким. asmx - Хэндлер входящих запросов. Вы ему запрос, он вам ответ. А вы хотите что бы вместо ответа - он у вас каким-то способом дозапросил какие-то данные при каких-то условиях. Если бы здесь был чистый GUI - то по хорошему сервис должен ответить "недостаточно данных" и по какому-то признаку редиректнуть на форму доввода данных. В случае отсутствия GUI - вам нужно по хорошему прописать протокол общения, все возможные ответы сервиса и сценарии его работы. Т.е. что-то вроде "если ответил errortype=3,значит надо дополнить запрос тем-то тем-то". Гадать на кофейной гуще со сферическим конем в вакууме - занятие не особо интересное.
Дмитрий: Это процесс разработки, причем без проектирования базы данных. Если вы разрабатываете на боевом сервере бд - вам по рукам надо дать хорошенько. Если девелоперский - 10 минут подождете, не самая большая трагедия. Если вы это делаете каждый час и никак не определитесь нужен вам столбец или нет - собираете совещание и решаете нужен или нет. Вы хотите экономить на спичках, вместо того чтобы спроектировать схему и взаимодействие с БД.
Shaidulint: Мое мнение - не надо конечного пользователя пускать в базу. Пусть приложение подключается к базе как вам удобно, но пользователи не знают про нее ничего. Что будет если у пользователя нет доступа к хранимке? До исполнения запроса вы не будете знать имеет пользователь доступ к данному функционалу или не имеет. На мой взгляд это поздновато. Плюс к этому логика ошибок отработки запроса перемешивается с логикой безопасности.
Никита Богомолов: Вам нужно преобразовать ваш XML в HTML. В вашем XML есть body ,table или другие единицы языка HTML за которые можно было бы зацепиться для преобразования? Нужна схема преобразования. XSLT - язык для такой схемы
АртемЪ: Нууу. А вот тут вопрос. Предположение смелое и зависит от конкретного кода. Если у вас увели базу, а засолка делалась в хранимой процедуре, то да. В других случаях все посложнее. Если вы используете в качестве соли - дату регистрации пользователя, то как потенциальный злоумышленник это узнает? Или если вы на удаленном, недоступном из вне, сервере солите хрен пойми чем хрен пойми как, а в ответ просто строчку получаете - тут как быть?
АртемЪ: На стойкость хэша в принципе никак. При наличие в таблице поля "соль" и алгоритме засолки на уровне "приклеить соль сбоку" - можно просто упростить механизм перебора. А если не знать что является солью и как она примешивается в исходное сообщение - процесс станет слишком увлекательным.
А вы считаете что это добавит понятности? Запрос надо смотреть и разбираться почему сущности множатся, а то что вы предлагаете - костыль, причем плохой
Вы показали хреново сформатированный скрипт, который по тем или иным причинам не исполняется. Задали вопрос про какой-то Exception. Скажите, какой ответ вы ждете? Правильный скрипт? Да тут даже не ясно что вы хотите выбрать. Выяснить почему серверный код не генерирует исключение? Так тут и серверного кода нету. Даже не ясно кто и в каком контексте этот запрос исполняет.