Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с процедурой  [new]
-===DiMas===-
Member

Откуда:
Сообщений: 253
Расшифруйте пожалуйста процедуру на русский :) а именно что передавать и как ее выполнить и получить результат

CREATE
--CREATE
PROCEDURE uChAndInsAcc
	@C_PH varchar(15),
	@Z_ACC int output,
	@flExist tinyint output
AS

declare @C_PH_INT bigint, @res int
set @flExist=1
exec @res = uGetPhN @C_PH, @C_PH_INT output
if @res<>0
	return @res
else begin
	select @Z_ACC=Z_ACC
		from ACC (nolock index(PH)) where C_PH=@C_PH_INT
	if @Z_ACC is null begin 
		INSERT INTO ACC([C_PH], [C_STAT], [S_CURR], [S_ST], [S_OUT])
			VALUES(@C_PH_INT, 0, 0, 0, 0)
				if @@error<>0 return 101
		set @Z_ACC=scope_identity()
		set @flExist=0
	end
end
5 авг 09, 18:46    [7502677]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с процедурой  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36814
Выполнять командой EXEC. Что передавать - это вы у авторов спрашивайте. А результат на экране будет.
5 авг 09, 18:49    [7502692]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с процедурой  [new]
Сергей Мишин
Member

Откуда:
Сообщений: 376
-===DiMas===-
Расшифруйте пожалуйста процедуру на русский :)

оно?
объявить переменные @C_PH_INT bigint, @res int
присвоить @flExist=1
вызвать процедуру @res = uGetPhN @C_PH, @C_PH_INT output
если @res<>0
	вернуть @res
иначе начать
	выбрать @Z_ACC=Z_ACC
		из ACC использовать(nolock index(PH)) где C_PH=@C_PH_INT
	если @Z_ACC есть null начать 
		вставить в ACC([C_PH], [C_STAT], [S_CURR], [S_ST], [S_OUT])
			значения (@C_PH_INT, 0, 0, 0, 0)
				если @@error<>0 вернуть 101
		присвоить @Z_ACC=scope_identity()
		присвоить @flExist=0
	конец
конец

5 авг 09, 18:54    [7502703]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с процедурой  [new]
-===DiMas===-
Member

Откуда:
Сообщений: 253
Гавриленко Сергей Алексеевич,

declare @Z_ACC int, @flExist tinyint

exec uCheckAndInsertAccount @C_PH=119383, @Z_ACC output , @flExist output

что не так делаю?
5 авг 09, 18:56    [7502706]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с процедурой  [new]
-===DiMas===-
Member

Откуда:
Сообщений: 253
-===DiMas===-,
т.е. так:
declare @Z_ACC int, @flExist tinyint

exec uChAndInsAcc @C_PH=119383, @Z_ACC output , @flExist output
5 авг 09, 18:56    [7502709]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с процедурой  [new]
-===DiMas===-
Member

Откуда:
Сообщений: 253
Сергей Мишин,

почти, имелось введу как передать параметры и как получить результат
5 авг 09, 18:58    [7502711]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с процедурой  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36814
А синтаксис посмотреть не судьба в хелпе? С примерами, все дела.
5 авг 09, 18:58    [7502713]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить