powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / convert input parameters into CSV string
8 сообщений из 8, страница 1 из 1
convert input parameters into CSV string
    #32066669
Nastasia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yvashaemie Guru !

est SP :

CREATE PROCEDURE sp_new
(
@S int
,@App int
,@Application int
,@sometest varchar(300)
)
AS
set @S =1 , ,@App =2 , @Application =3 , @sometest ='test'


mne nado polychit" @P1 v vide CSV string
( pitays" zapicat" vce input parametri v variable chtobi potom
@P1 insert v drygoi table ) .
nyshno tak : 1,2,3,test

pishy :
declare @P varchar(800)
select @P1 = @SystemUserID+','+@App+','+@Application+','+@sometest

eto ne proxodit :(

pomogite pls !!!
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32066673
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Командой set можно инициализировать только одну переменную

set @S =1
set @App =2
set @Application =3
set @sometest ='test'

2. В случае неявное преобразование типов сервер всегда перобразует типы в в соответсвии с их страшинством - из низших в высшие.
Поэтому иногда лучше явно указать преобразование одного типа в другой.

declare @P varchar(800)
select @P = ','+CAST(@App AS varchar(20)) +','+ CAST(@Application AS varchar(20)) +','+@sometest


3. Т.к. про переменную @SystemUserID из вашего скрипта ничего неизвестно, то прокомментировать не могу
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32066675
Nastasia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spacibo Glory !

set ia napicala dlia primera :)


ia pitays" cdelat" Audit dlia SP's , chtobi vce imena SP
i vce parametri ( input ) zapicivalis" v audit table

poxoshaia zadacha na vashy :)
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32066689
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело хорошее.
Могу дать совет - подумайте над иерархией ваших процедур.
Потому что одним из следующих вопросов, после того "кто и как запускал процедуру" будет вроде такого "сколько у нас запускается процедур поиска/обновления данных в промежуток времени" с различными дальнейшими вариантами.
Поэтому лучше сразу определить процедуру в какую-то "весовую" группу(ы), чтобы в дальнейшем проводить более всесторонние аудит.
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32066695
Nastasia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chtobi ne perepicivat" vce po novoi dlia kashdoi SP
napicala UDF :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
CREATE FUNCTION      fn_get_parameters_list_1
(   @SPName varchar( 300 )  )

RETURNS      varchar( 8000 )
as 
begin 

declare @a varchar( 40 )
declare @P1 varchar( 4000 )
declare cur cursor for 

select parameter_name 
 ----, data_type, character_maximum_length
 
from INFORMATION_SCHEMA.PARAMETERS   where specific_name =  @SPName
open cur 
fetch next from cur into @a
set @P1=  cast(@a as varchar( 20 )) 
while @@fetch_status= 0 
begin 
fetch next from cur into @a
set @P1= @P1+','+ cast(@a as varchar( 20 )) 
end 

close cur
deallocate cur
 
return @P1

END



v SP vizivay :

Код: plaintext
1.
select    @P1 = dbo.create_param_list (@CallingProc)
print @P1

ona mne daet list :

@a , @b , @c etd

a mne nado ne imena peremennix a ix values


chto delay ne tak ?
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32066765
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UDF работает совершенно правильно. Ведь в переменную @a заносится имя параметра, а не его значение. Для вычисления значения переменных нужно использовать динамический запрос, НО, т.к. все пользовательские переменные в T-SQL - локальные, т.е. видны только в том batch-е/процедуре, где они были объявлены. Единственная возможность "увидеть" их в другом batch-е/процедуре - это передать туда их значения.

Конечно можно придумать что-то с использованием sp_executesql, но мне кажется, что получится слишком грамоздкий код
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32067073
Nastasia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polychaetcia chto nado v kashdyu SP
vstavliat" kycok dlia inserta STRING parameters v audit table
prichem v zavisimosti ot type variable ( int or varchar) nado ispolzovat" libo 'cast' OR 'quotename '

voobshem polychat" chto-to podobnoe :
dlia SP :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE  PROCEDURE test
(
	 @SystemUserID int
	,@ApplicationID int 
	,@ApplicationItemID int
	,@Description nvarchar( 1024 )
             ,@actionURL  nvarchar( 1024 )
	,@SingleInstance bit
	,@CustomerID int 
) 
STring bydet :

Код: plaintext
select    @P2  = cast(@SystemUserID as varchar( 20 )) + ',' + cast(@ApplicationID  AS varchar( 20 )) + ',' +cast (@ApplicationItemID AS varchar( 20 )) +',' +quotename(@Description, '''') +',' +quotename(@actionURL, '''')+','+cast(@SingleInstance as varchar( 20 ))+','+cast(@CustomerID as varchar( 20 )) ..... etd



shalko , xotelos" bi napisat" UDF i prosto ee vizivat" v kashdoi SP

y menia 120 SP znachit poka ia dlia kashdoi napishy etot kysok
proidet nemalo vremeni :(:(
...
Рейтинг: 0 / 0
convert input parameters into CSV string
    #32067088
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напиши sp которая пробежит по всем процедурам и пересоздаст их с твоей строкой после as.....
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / convert input parameters into CSV string
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]