sql server中的存储过程
--添加产品的存储过程
Create proc up_insert_proc
@产品号 char(20) ,
@产品名 char(100),
@单价 money,
@规格 float ,
@库存量 int
as
begin
if exists(select * from 产品 where 产品号=@产品号)
begin
begin
print'该产品已经存在' --有相同的数据,直接返回值
end
begin
update 产品 set 库存量=@库存量+库存量 where 产品号=@产品号
print'更新该产品信息成功' --有主键相同的数据,进行更新处理
end
end
else
begin
insert into 产品(产品号,产品名,单价,规格,库存量) values(@产品号,@产品名,@单价,@规格,@库存量)
print '添加产品成功' --没有相同的数据,进行插入处理
end
end
go
delphi中调用存储过程代码
procedure TForm3.Button1Click(Sender: TObject);
var
ret:integer;
begin
with ADOStoredProc1 do
begin
Close;
ProcedureName:='up_inset_proc';
Parameters.Clear;
Parameters.Refresh;
Parameters.ParamByName('@产品号').Value:= Edit3.text;
Parameters.ParamByName('@产品名').Value:= Edit4.text;
Parameters.ParamByName('@单价').Value:= Edit5.text;
Parameters.ParamByName('@规格').Value:= Edit6.text;
Parameters.ParamByName('@库存量').Value:= Edit7.text;
ExecProc;
ret:= Parameters.ParamByName('@return_value').Value;
end;
end;