多个有关联的表怎么写它的存储过程呢?尤其添加和更新,请各位大神帮忙解决哈
表一:DepartmentItem
字段名称 数据类型(大小) 是否主键 是否为空 默认值 描述
ID Int Y N
ArchitectureID Varchar(40) N 编号
ItemID uniqueidentifier N 关联 Item 表
IndexID Smallint 该部门排序ID
表二:Architecture
字段名称 数据类型(大小) 是否主键 是否为空 默认值 描述
ID archar(40)
Name Varchar(50)
表三:Item
字段名称 数据类型(大小) 是否主键 是否为空 默认值 描述
ID uniqueidentifier
Name varchar(20)
怎样同时向这几张表中添加数据还有同时更新它们中的数据呢? 求存储过程!!!希望大家多多指点哈
------解决方案--------------------用事务处理就可以了
------解决方案--------------------大概就是这样:
create proc dbo.proc_xx
as
begin tran
declare @t uniqueidentifier
set @t = NEWID()
insert into item
select @t,'xx'
insert into Architecture
select '123456789','yy'
insert into DepartmentItem
values('987654321',@t,111)
commit tran
go
------解决方案--------------------一二三楼都是正解!
但是个人不建议用触发器,因为影响速度!
事务是最好的方式,同时更新,任何一个环节不完成,均不影响!