Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2019.02.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.001 c
2-1477768226
Vetal39
2016-10-29 22:10
2019.02.24
задача по делфи


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


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


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


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский