触发器也行!多谢!
13 个解决方案
#1
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
#2
CREATE TRIGGER 触发器名 ON 你的表1
FOR INSERT
AS
insert 你的表2 (列名) select (列名) from inserted
FOR INSERT
AS
insert 你的表2 (列名) select (列名) from inserted
#3
触发器就是为你的要求设计的啊,具体语法大力都写了,你也可以从 BOL 上看到更多。
#4
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
我喜欢这种方法,易懂!
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
我喜欢这种方法,易懂!
#5
好,我也问个问题,假如我现在要插入着张表是一次,但是同时我要插入另外一张表是要多次的,那应该怎么做呢?是在程序外面写,还是都在存储过程里面做呢???
#6
CREATE TRIGGER 触发器名 ON 你的表1
FOR INSERT
AS
insert 你的表2 (列名)
select (列名) from inserted
union all
select (列名) from inserted
...
union all
select (列名) from inserted
go
呵呵,想多少次就多少次
FOR INSERT
AS
insert 你的表2 (列名)
select (列名) from inserted
union all
select (列名) from inserted
...
union all
select (列名) from inserted
go
呵呵,想多少次就多少次
#7
哦,对拉,插入多次的数据都是不同的啊,那怎么办?
#8
同意
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
#9
你说的多次是什么条件下的多次?
#10
假如我现在是要插入一个合同头,和合同的详细项,合同头可能只需要插入一次就好拉,但是合同的详细项有很多不同的项所以就要插入合同的详细项表多次,问应该如何做呢,怎么传参数呢????
#11
假设,
合同头表 PoHead (ID,PoNo..)
合同细项表 PoGoods (ID,PoHeadID,GoodsNo,Quantity...)
其中 ID 字段为自动增加 Identity
PoGoods 表中应当有一个字段作为 PoHead 表的外键,即
PoGoods.PoHeadID -- PoHead.ID
插入 PoHead:
Insert Into PoHead (PoNo,..) values (@PoNo...)
获得刚刚插入的 PoHead 记录的 ID
DECLARE @PoHeadID INT
SET @PoHeadID=@@IDENTITY
插入 PoGoods:
Insert Into PoGoods (PoHead,GodsNo,Quantity...) values (@PoHeadID,@GoodsNo,@Quantity)
PoHead,PoGoods 两个表应当分开处理,最好设计两个 SP ,分别处理。
合同头表 PoHead (ID,PoNo..)
合同细项表 PoGoods (ID,PoHeadID,GoodsNo,Quantity...)
其中 ID 字段为自动增加 Identity
PoGoods 表中应当有一个字段作为 PoHead 表的外键,即
PoGoods.PoHeadID -- PoHead.ID
插入 PoHead:
Insert Into PoHead (PoNo,..) values (@PoNo...)
获得刚刚插入的 PoHead 记录的 ID
DECLARE @PoHeadID INT
SET @PoHeadID=@@IDENTITY
插入 PoGoods:
Insert Into PoGoods (PoHead,GodsNo,Quantity...) values (@PoHeadID,@GoodsNo,@Quantity)
PoHead,PoGoods 两个表应当分开处理,最好设计两个 SP ,分别处理。
#12
这种问题是不是最好都时分开两个sp呢?
#13
按照关系数据设计方针,应该分成两个 SP
虽然从商业逻辑上, PoHead 和 PoGoods 属于同一张定单,但,从数据库的角度看,它们是两个独立的表,以 PoHeadID 关联。
虽然从商业逻辑上, PoHead 和 PoGoods 属于同一张定单,但,从数据库的角度看,它们是两个独立的表,以 PoHeadID 关联。
#1
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
#2
CREATE TRIGGER 触发器名 ON 你的表1
FOR INSERT
AS
insert 你的表2 (列名) select (列名) from inserted
FOR INSERT
AS
insert 你的表2 (列名) select (列名) from inserted
#3
触发器就是为你的要求设计的啊,具体语法大力都写了,你也可以从 BOL 上看到更多。
#4
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
我喜欢这种方法,易懂!
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
我喜欢这种方法,易懂!
#5
好,我也问个问题,假如我现在要插入着张表是一次,但是同时我要插入另外一张表是要多次的,那应该怎么做呢?是在程序外面写,还是都在存储过程里面做呢???
#6
CREATE TRIGGER 触发器名 ON 你的表1
FOR INSERT
AS
insert 你的表2 (列名)
select (列名) from inserted
union all
select (列名) from inserted
...
union all
select (列名) from inserted
go
呵呵,想多少次就多少次
FOR INSERT
AS
insert 你的表2 (列名)
select (列名) from inserted
union all
select (列名) from inserted
...
union all
select (列名) from inserted
go
呵呵,想多少次就多少次
#7
哦,对拉,插入多次的数据都是不同的啊,那怎么办?
#8
同意
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
create proc 过程名
@参数 varchar(100)
as
begin tran
insert 你的表1 values(@参数)
insert 你的表2 values(@参数)
commit tran
#9
你说的多次是什么条件下的多次?
#10
假如我现在是要插入一个合同头,和合同的详细项,合同头可能只需要插入一次就好拉,但是合同的详细项有很多不同的项所以就要插入合同的详细项表多次,问应该如何做呢,怎么传参数呢????
#11
假设,
合同头表 PoHead (ID,PoNo..)
合同细项表 PoGoods (ID,PoHeadID,GoodsNo,Quantity...)
其中 ID 字段为自动增加 Identity
PoGoods 表中应当有一个字段作为 PoHead 表的外键,即
PoGoods.PoHeadID -- PoHead.ID
插入 PoHead:
Insert Into PoHead (PoNo,..) values (@PoNo...)
获得刚刚插入的 PoHead 记录的 ID
DECLARE @PoHeadID INT
SET @PoHeadID=@@IDENTITY
插入 PoGoods:
Insert Into PoGoods (PoHead,GodsNo,Quantity...) values (@PoHeadID,@GoodsNo,@Quantity)
PoHead,PoGoods 两个表应当分开处理,最好设计两个 SP ,分别处理。
合同头表 PoHead (ID,PoNo..)
合同细项表 PoGoods (ID,PoHeadID,GoodsNo,Quantity...)
其中 ID 字段为自动增加 Identity
PoGoods 表中应当有一个字段作为 PoHead 表的外键,即
PoGoods.PoHeadID -- PoHead.ID
插入 PoHead:
Insert Into PoHead (PoNo,..) values (@PoNo...)
获得刚刚插入的 PoHead 记录的 ID
DECLARE @PoHeadID INT
SET @PoHeadID=@@IDENTITY
插入 PoGoods:
Insert Into PoGoods (PoHead,GodsNo,Quantity...) values (@PoHeadID,@GoodsNo,@Quantity)
PoHead,PoGoods 两个表应当分开处理,最好设计两个 SP ,分别处理。
#12
这种问题是不是最好都时分开两个sp呢?
#13
按照关系数据设计方针,应该分成两个 SP
虽然从商业逻辑上, PoHead 和 PoGoods 属于同一张定单,但,从数据库的角度看,它们是两个独立的表,以 PoHeadID 关联。
虽然从商业逻辑上, PoHead 和 PoGoods 属于同一张定单,但,从数据库的角度看,它们是两个独立的表,以 PoHeadID 关联。