+ -
当前位置:首页 → 问答吧 → 怎样循环插入在另一个表中更新的数据到另一个表

怎样循环插入在另一个表中更新的数据到另一个表

时间:2011-11-30

来源:互联网

怎样循环插入在另一个表中更新的数据到另一个表,我想在职工信息表中插入一条信息,然后用触发器在职工打分表中插入于此人有关的多条记录。用循环实现,有没有高人,救救我。

作者: guoer9973   发布时间: 2011-11-30

需求模糊, 请再细化.

作者: ap0405140   发布时间: 2011-11-30

用inserted触发器

作者: koumingjie   发布时间: 2011-11-30

什么叫“有关的多条信息”

作者: koumingjie   发布时间: 2011-11-30

create trigger 打分表的更新  
  on 职工信息  
  
  for Insert
  as  
   
declare aa cursor for select Id from 职工信息  
  declare @i char(10) 
  open aa 
  fetch Next From aa into @i  
begin  
   
  while (@@fetch_status=0)  
  begin 
   
  insert
  into 人事部打分表
  (
  Id,
Eno,
Dno,
Ename,
WEno,
Who,
Grade
)
select i.Id,i.Eno,i.Dno,i.Ename,职工信息.Eno,职工信息.Ename,i.Eage
From 职工信息,inserted i
where 职工信息.Id=@i
fetch next From aa into @i  
end
close aa  
  deallocate aa  
end

作者: guoer9973   发布时间: 2011-11-30

在trigger上写循环可以做到,如果是独立的trigger只会触发最后一笔数据。

作者: lsy999   发布时间: 2011-11-30

哥哥们帮忙看看

作者: guoer9973   发布时间: 2011-11-30

在trigger上加循环,我如果在trigger里面加不能实现循环的插入是吗?

作者: guoer9973   发布时间: 2011-11-30

能帮我改改吗?

作者: guoer9973   发布时间: 2011-11-30

SQL code

CREATE TABLE 职工信息表
(
    userid    INT,
    username  NVARCHAR(3)
)

CREATE TABLE 职工打分表
(
    id      INT IDENTITY(1, 1),
    userid  INT
)

GO

CREATE TRIGGER tr_insert
ON 职工信息表
FOR  INSERT
AS
    DECLARE @i       INT
    DECLARE @userid  INT
    SET @i = 0
    WHILE (@i < 10)
    BEGIN
        SELECT @userid = userid
        FROM   INSERTED
        
        INSERT INTO 职工打分表
        VALUES
          (
            @userid
          )
        SET @i = @i + 1
    END

作者: koumingjie   发布时间: 2011-11-30

有没有人能帮我改改,我试了很多次都没有用,貌似是自己的触发器写的不对,能帮我改正一下吗?

作者: guoer9973   发布时间: 2011-11-30

SQL code

CREATE TABLE 职工信息表
(
    userid    INT,
    username  NVARCHAR(3)
)

CREATE TABLE 职工打分表
(
    id      INT IDENTITY(1, 1),
    userid  INT
)

GO

CREATE TRIGGER tr_insert
ON 职工信息表
FOR  INSERT
AS
    DECLARE @i       INT
    DECLARE @userid  INT
    SET @i = 0
    SELECT @userid = userid FROM  INSERTED  --取用户ID
    WHILE (@i < 10)
    BEGIN

        INSERT INTO 职工打分表 VALUES(@userid) --循环插入
        SET @i = @i + 1
    END

作者: koumingjie   发布时间: 2011-11-30

楼上的大哥,我试试看能行不

作者: guoer9973   发布时间: 2011-11-30