Здравствуйте, rus blood, Вы писали:
RB>В SP на сиквеле нельзя работать с переменными типа text.
В целом нельзя, но в частности...
RB>Ну придет тебе 2 гига в параметре, и что дальше?
А дальше sp_xml_preparedocument работает с text'ами с огромным удовольствием...
sp_xml_preparedocument hdoc OUTPUT [, xmltext]
....
[xmltext]
Is the original XML document. The MSXML parser parses this XML document. xmltext is a text (char, nchar, varchar, nvarchar, text, or ntext) parameter.
Вот тебе живой пример:
-- Создаем процедуру
--create procedure ab
@a textas
DECLARE @idoc int
-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @a
-- Execute a SELECT statement using OPENXML rowset provider.SELECT *
FROM OPENXML (@idoc, '/ROOT/Customer',1)
WITH (CustomerID varchar(10),
ContactName varchar(20))
EXEC sp_xml_removedocument @idoc
Здравствуйте, merlinJap, Вы писали:
J>Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров, J>Если можно, то как?
Нельзя.
Если все-таки очень хочется, используйте временные таблицы
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, merlinJap, Вы писали:
J>Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров, J>например как это делаеться в printf(char*,...). J>Если можно, то как? поиск рулит
Здравствуйте, merlinJap, Вы писали:
J>Доброго времени суток
J>Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров, J>например как это делаеться в printf(char*,...). J>Если можно, то как?
J>С уважением merlinJap
Как это ни печально, но в SQLServer2000 такой возможности пока нет. Однако можно создавать налету временные хранимые процедуры (и не временные) с любым кол-вом входных параметров.
FG> FG>достаточно ntext передать в хранимую продцедуру, 2000SQLServer это позволяет, 2Гига думаю достаточно, правда зачем это нужно это уже другой вопрос FG>
В SP на сиквеле нельзя работать с переменными типа text.
Ну придет тебе 2 гига в параметре, и что дальше?
Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров,
например как это делаеться в printf(char*,...).
Если можно, то как?
Здравствуйте, merlinJap, Вы писали:
J>Доброго времени суток
J>Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров, J>например как это делаеться в printf(char*,...). J>Если можно, то как?
J>С уважением merlinJap
Здравствуйте, merlinJap, Вы писали:
J>Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров, J>например как это делаеться в printf(char*,...). J>Если можно, то как?
Здравствуйте, merlinJap, Вы писали:
J>Доброго времени суток
J>Созрел такой вопрос, возможно ли передать хранимой процедуре (или функции) n-ое кол-во параметров, J>например как это делаеться в printf(char*,...). J>Если можно, то как?
J>С уважением merlinJap
под SQLServer2000 можно передать в качесве параметра XML — и потом разобрать его, благо работа c XML — уже реализована (sp_xml_preparedocument ) или же как советовали просто передавать стоку и разбирирать её.
FG>под SQLServer2000 можно передать в качесве параметра XML — и потом разобрать его, благо работа c XML — уже реализована (sp_xml_preparedocument ) или же как советовали просто передавать стоку и разбирирать её.
Поскольку имеется ограничение на длину строк, с которой можно работать в SP, то лучше не мутить с XML — слишком неэкономно расходуется строка параметра...
RB>Поскольку имеется ограничение на длину строк, с которой можно работать в SP, то лучше не мутить с XML — слишком неэкономно расходуется строка параметра...
достаточно ntext передать в хранимую продцедуру, 2000SQLServer это позволяет, 2Гига думаю достаточно, правда зачем это нужно это уже другой вопрос