Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2019.02.24;
Скачать: CL | DM;

Вниз

mssql, результат хранимки, заранее не извесный рекордсет   Найти похожие ветки 

 
ВладОшин ©   (2016-10-25 17:21) [0]

пусть некто написал хранимку Proc1
create procedure Proc1
as
SELECT "string1" A, 2 B

я ее использую

declare @T table(A varchar(99), B int)
insert @T exec Proc1
declare @S varchar(max) = ""
select  
 @S = @S + "A=" + A + "B=" + cast(B as varchar(99) + char(13)+char(10)
from @T


некто изменил Proc1
SELECT "string1" as [A], 2 as [B], 0 as C

у меня все сломалось, и я захотел на будущее обезопаситься
insert #T exec Proc1
declare @S varchar(max) = ""
select  
 @S = @S + ???
from #T

как далее перебрать колонки?

как сделать что-то вроде
for i:= 0 to DS.FieldCount -1 ..
s :=  DS.Field.Name + "=" + DS.Field.asstring


 
ВладОшин ©   (2016-10-25 17:34) [1]

можно так, в принципе -

не временную таблицу, а нормальную делать
@TableName = [уникальное что-то, типа newid()]
@SQL = "insert " + @TableName +" exec Proc1"
exec(@SQL)
через information shema получить столбцы @TableName, сгенерировать новый @SQL
"COLUMN_NAME = " + COLUMN_NAME + 13+10
и опять exec(@SQL)
и не забыть drop @TableName

но могут и побить )

проще никак?



Страницы: 1 вся ветка

Текущий архив: 2019.02.24;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.003 c
15-1476820515
Тимохов Дима
2016-10-18 22:55
2019.02.24
Пресловутая буква "Ч".


2-1477768226
Vetal39
2016-10-29 22:10
2019.02.24
задача по делфи


15-1477408414
Robert
2016-10-25 18:13
2019.02.24
Ruby


2-1477659782
Token
2016-10-28 16:03
2019.02.24
Отключить анимацию TProgressBar


15-1477405290
ВладОшин
2016-10-25 17:21
2019.02.24
mssql, результат хранимки, заранее не извесный рекордсет