SQL语句问题

ALTERprocedure[dbo].[向进货记录表插入数据]@进货编号chaALTERprocedure[dbo].[向进货记录表插入数据]@进货编号char(10)... ALTER procedure [dbo].[向进货记录表插入数据]
@进货编号 chaALTER procedure [dbo].[向进货记录表插入数据]
@进货编号 char(10),@盆栽货号 char(50),@进货价 numeric(2,1),@进货量 int,@进货时间 date,
@经手人账号 char(10)
as
begin
if not exists(select * from 盆栽基本信息表 where 盆栽货号=@盆栽货号)
print'盆栽货号不存在,请重新输入'
if not exists(select * from 人员基本信息表 where 人员账号=@经手人账号)
print'经手人不存在,请重新输入'
else
if ( exists(select * from 盆栽基本信息表 where 盆栽货号=@盆栽货号) and
exists(select * from 人员基本信息表 where 人员账号=@经手人账号))
insert into 进货记录表
values(@进货编号,@盆栽货号,@进货价,@进货量,@进货时间,@经手人账号)
update 库存记录表 set 库存=库存+@进货量 where 盆栽货号=@盆栽货号
--print'插入表成功'
end
go

利用这个存储过程的时候,无论数据能否插入,库存都会更新。
要怎么样修改才能在满足插入条件的情况下更新库存。
展开
 我来答
name_ouyiping
推荐于2016-08-22 · 超过79用户采纳过TA的回答
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:118万
展开全部
--创建insert插入类型触发器
if (object_id('tgr_classes_insert', 'tr') is not null)
drop trigger tgr_classes_insert
go
create trigger tgr_classes_insert
on classes
for insert --插入触发
as
--定义变量
declare @id int, @name varchar(20), @temp int;
--在inserted表中查询已经插入记录信息
select @id = id, @name = name from inserted;
set @name = @name + convert(varchar, @id);
set @temp = @id / 2;
insert into student values(@name, 18 + @id, @temp, @id);
print '添加学生成功!';
go
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式