三个表分别是movieinfo:
mid mname mdirectorbroadcastingtime:
bcid time price seatmovie_broadcast
mid bcid如何实现插入movieinfo 和 broadcastingtime 的同时也插入到movie_broadcast表中 (mid和bcid是自增的)
或者说在插入movieinfo 或者broadcastingtime的时候 是否可以返回 mid 或者cid
谢谢了
mid mname mdirectorbroadcastingtime:
bcid time price seatmovie_broadcast
mid bcid如何实现插入movieinfo 和 broadcastingtime 的同时也插入到movie_broadcast表中 (mid和bcid是自增的)
或者说在插入movieinfo 或者broadcastingtime的时候 是否可以返回 mid 或者cid
谢谢了
或者一次写3个语句,,
不然你怎么做
mid bcid 的一一对应
问题是在保存了movieinfo 和broadcasting之后并不知道他们的id是多少 如何是好
这个表movie_broadcast 还不能插入吗?三个表一个个插入,加事务
然后如何关联起来因为我插入几条记录之后我并不知道他们的mid和bcid
再给你一个参考时关于在INSERT之前触发触发器的和我上面的一起用就可以实现引用 3 楼 demonsine 的回复:#2楼问题是在保存了movieinfo 和broadcasting之后并不知道他们的id是多少 如何是好提供一个意见:可以再触发器当中用output ,return实现。。不知道是否正确。如果有错误,还请见谅
这个功能了http://topic.csdn.net/t/20020429/17/689749.html
create table sttt
(
id int
)insert into sttt
select 1
union all
select 2
union all
select 3select * from sttt
--触发器调用存储过程
alter trigger sttt_update
on sttt
for insert
as
declare @maxid int
exec stttpro @maxid outputdeclare @q int
set @q=0
update sttt set id=@q,@q=@q+1 where @q<(select @maxid)
--存储过程
alter proc stttpro
@maxid int output
as
set @maxid=(select max(id) from sttt)--添加记录
insert into sttt values(120)
如下:if OBJECT_ID('tab_a') is not null drop table tab_a
CREATE TABLE [dbo].[tab_a](
[id1] [int] IDENTITY(1,1) NOT NULL,
[name1] [nchar](10) NULL
) ON [PRIMARY]
GO
if OBJECT_ID('tab_b') is not null drop table tab_b
CREATE TABLE [dbo].[tab_b](
[id2] [int] IDENTITY(1,1) NOT NULL,
[name2] [nchar](10) NULL
) ON [PRIMARY]
godeclare @id1 int,@id2 int
insert into tab_a values ('111')
select @id1 =@@identityinsert into tab_b values ('222')
select @id2 =@@identityprint @id1
print @id2你可以得到@id1 为tab_a 添加的自动id
@id2 为tab_b 添加的自动id