第一步建立存储过程
create proc MyABC @a int ,@b int, @c int output
as
set @c=@a*@b
在SQL中使用查询分析器执行:
declare @a int,@b int,@c int
set @a=250
set @b=40
exec MyABC @a,@b,@c output --注意要添加output 关键字!
select @c
在DELPHI中使用数据集控件执行:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(‘execute MyABC :a,:b,:c output‘);//也要添加output 关键字!
ADOQuery1.Parameters.ParamByName(‘a‘).Value:=250;
ADOQuery1.Parameters.ParamByName(‘b‘).Value:=40;
ADOQuery1.ExecSQL;
showmessage(ADOQuery1.Parameters.ParamByName(‘c‘).Value);
在DELPHI中使用专门的调用存储过程的控件执行:
sp_Exec.Parameters.Clear;
sp_Exec.ProcedureName := 'sp_TransTo';
sp_Exec.Parameters.CreateParameter('@mailId', ftString, pdInput, 50, MailId);
sp_Exec.Parameters.CreateParameter('@Result', ftInteger, pdOutput, 0, rowID);
sp_Exec.ExecProc;