Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизПередать запрос на сервер в строковой переменной.. или как лучше? Найти похожие ветки
← →
Denisiy (2004-11-08 17:34) [0]Есть анкета с очень большим количеством полей для заполнения. После заполнение нужно передать данные на сервер.
Варианты:
1) передать в ХП с большим количеством параметров (выходит более 30)
2) сформировать текст запроса в клиентском приложении и передать его на сервер в переменной (если так можно). Если формировать запрос на клиенте - то он будет гораздо меньше, т.к. многие параметры могут быть опущены при заполнении и вносить их в базу не обязательно.
Вопрос:
1) можно ли, собственно, передать запрос в строковой переменной на сервер и там его выполнить?
2) имеет ли смысл вообще этим заниматься, или лучше реализовать это при помощи ХП?
← →
сергей1 (2004-11-08 18:09) [1]?
если надо занести в несколько таблиц, то ХП лучше
если таблица одна, то и без хп можно
← →
Nikolay M. © (2004-11-09 10:12) [2]Если суммарная длина данных гарантированно меньше 8000, можно передавать XML-ем через VARCHAR(8000).
А в ХП делать SP_XML_PREPAREDOCUMENT, OPENXML, SP_XML_REMOVEDOCUMENT.
← →
Explorer (2004-11-09 22:02) [3]Nikolay M. ©
А какие плюсы от использования XML в храним. процедурах?
И что такое "длина данных гарантированно меньше 8000"?
← →
Nikolay M. © (2004-11-09 23:12) [4]
> Explorer (09.11.04 22:02) [3]
> Nikolay M. ©
> А какие плюсы от использования XML в храним. процедурах?
Вообще - зависит от обстоятельств. В данном конкретном случае, когда многие из параметров могут быть опущены, просто удобно.
> И что такое "длина данных гарантированно меньше 8000"?
Это значит, например, что если означенные 30 параметров - строки и каждая из них не может быть длиннее 10 символов, то суммарная длина всей анкеты гарантированно занимает не более 300 символов.
← →
Denisiy (2004-11-11 17:37) [5]Так а основной вопрос: есть ли возможность выполнить на сервере запрос, переданный в обычной строковой переменной? - ответит кто-нибудь?
RTFM уж хоть скажите :))))
← →
Ega23 © (2004-11-11 18:18) [6]Так а основной вопрос: есть ли возможность выполнить на сервере запрос, переданный в обычной строковой переменной? - ответит кто-нибудь?
Конечно есть.
print "S_Search- процедура форомирования выборок по входным параметрам"
/*"Пример:
exec S_Search @ActNam ="PERSID",....
*/
go
if exists (select * from sysobjects where id = object_id(N"[S_Search]") and OBJECTPROPERTY(id, N"IsProcedure") = 1)
drop procedure [S_Search]
GO
CREATE PROCEDURE S_Search
....
@SQLMain varchar (8000),
.....
AS
if @Debug<>-1 print @SqlMain else exec(@SqlMain)
GO
← →
Nikolay M. © (2004-11-11 18:55) [7]
> Denisiy (11.11.04 17:37) [5]
> Так а основной вопрос: есть ли возможность выполнить на
> сервере запрос, переданный в обычной строковой переменной?
> - ответит кто-нибудь?
Угу. Для этого есть компоненты наподобие ADOQuery, например.
Какой смысл формировать на клиенте строку запроса, передавать ее в ХП на сервер и исполнять этот запрос из ХП?
> RTFM уж хоть скажите :))))
RTFM
:)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c