我需要使用一列中具有不同值的触发器像1000一样批量插入行

用户名

这是触发因素

CREATE TRIGGER [dbo].[Teacher]
ON [dbo].[Teacher]
After INSERT
AS

Declare @fid int, @PR NVARCHAR(MAX),@Mycounter  as INT
Select top 1 @fid = eid from human where TypeID = 2 
order by NewID()

Select top 1 @PR = Pid from [dbo].[Program] Where Depid = 1
order by NewID()

Set @Mycounter =1
While @Mycounter <5

BEGIN
    Insert Into HeadofDep(SessionID,fid,pid,name,createddate)
    Select SessionID, @fid,@PR,NULL,null from INSERTED
    Where eid in (Select eid from human where TypeID = 3)
set @MyCounter = @MyCounter + 1; 
END

HeadofDep当在教师表中插入任何行时,我需要在表中插入1000行我已经通过应用循环来完成,但是插入HeadofDep表中的所有行都具有相同的值@PR每行需要不同的内容。还需要sessionid增加。我该如何实现?

Gotqn

只是,增加SessionIDthen并将其他内容放入循环中:

Declare @fid int, @PR NVARCHAR(MAX),@Mycounter  as INT

Set @Mycounter =1
While @Mycounter <5

BEGIN
Select top 1 @fid = eid from human where TypeID = 2 
order by NewID()

Select top 1 @PR = Pid from [dbo].[Program] Where Depid = 1
order by NewID()

    Insert Into HeadofDep(SessionID,fid,pid,name,createddate)
    Select SessionID, @fid,@PR,NULL,null from INSERTED
    Where eid in (Select eid from human where TypeID = 3)
set @MyCounter = @MyCounter + 1; 
END

同样,在触发器中执行这样的LOOP也是不好的,在这种情况下,您可以使用以下命令更改1000个插入:

Insert Into HeadofDep(SessionID,fid,pid,name,createddate)
Select SessionID + N, @fid,@PR,NULL,null 
from INSERTED
CROSS APPLY
(
    SELECT TOP (1000) -1+row_number() over(order by t1.number) as N
    FROM master..spt_values t1 
        CROSS JOIN master..spt_values t2
) DS 
Where eid in (Select eid from human where TypeID = 3)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用触发器获取mysql中插入行的值

来自分类Dev

如何使触发器像外键一样工作?

来自分类Dev

仅当另一列具有特定值时才恢复表上的更新更改的 SQL 触发器

来自分类Dev

在我的文本中像变量一样使用sharedPreferences

来自分类Dev

使用插入后触发器更新另一列

来自分类Dev

我们能否插入一张表并通过查看另一张表的值作为插入的ID来触发更新插入行的一列?

来自分类Dev

更新列中的值并让触发器根据值更新另一列

来自分类Dev

在Oracle中使用触发器将列值设置为等于另一列

来自分类Dev

创建触发器以在另一张表中插入行

来自分类Dev

我需要使用第一列中的重复值和第二列中的唯一值来转置mysql中的数据

来自分类Dev

在每次使用触发器插入MySQL 5.6中的目标表后,将一列从源表拉至另一表

来自分类Dev

我需要选择所有类并像货币Jquery一样显示它们

来自分类Dev

选择在一列中具有相同值而在另一列中具有不同值的行

来自分类Dev

删除一列中具有重复值但另一列中具有不同值的行

来自分类Dev

如何像 Pandas 中的值计数一样对 Microsoft SQL Server 中临时表中的所有列求和

来自分类Dev

find()具有相等且像帆一样

来自分类Dev

在多行的一列中查找具有相同值的行,而另一列具有不同的值

来自分类Dev

如何在具有不同行的一列上插入多个值?

来自分类Dev

插入具有唯一ID的记录时,无法在触发器上执行多行插入

来自分类Dev

我将如何同时插入具有所有不同子查询值的同一行,几乎就像在子查询上进行迭代一样?

来自分类Dev

我不能像往常一样使用洪水

来自分类Dev

像栏值中的通配符一样?

来自分类Dev

与SQL Server批量插入,其中一列具有多个值,而其他所有列均具有预设值

来自分类Dev

如何像查询精确值一样使用MySQL

来自分类Dev

我想要具有5个值的HTML搜寻栏,当值显示image1时,也像值2显示image2一样

来自分类Dev

检查一列中的所有ID在另一列,不同的表中是否具有特定值

来自分类Dev

设置触发器以根据另一列更改列值

来自分类Dev

像HTML中的列一样垂直包装

来自分类Dev

像awk一样访问python中的列

Related 相关文章

  1. 1

    使用触发器获取mysql中插入行的值

  2. 2

    如何使触发器像外键一样工作?

  3. 3

    仅当另一列具有特定值时才恢复表上的更新更改的 SQL 触发器

  4. 4

    在我的文本中像变量一样使用sharedPreferences

  5. 5

    使用插入后触发器更新另一列

  6. 6

    我们能否插入一张表并通过查看另一张表的值作为插入的ID来触发更新插入行的一列?

  7. 7

    更新列中的值并让触发器根据值更新另一列

  8. 8

    在Oracle中使用触发器将列值设置为等于另一列

  9. 9

    创建触发器以在另一张表中插入行

  10. 10

    我需要使用第一列中的重复值和第二列中的唯一值来转置mysql中的数据

  11. 11

    在每次使用触发器插入MySQL 5.6中的目标表后,将一列从源表拉至另一表

  12. 12

    我需要选择所有类并像货币Jquery一样显示它们

  13. 13

    选择在一列中具有相同值而在另一列中具有不同值的行

  14. 14

    删除一列中具有重复值但另一列中具有不同值的行

  15. 15

    如何像 Pandas 中的值计数一样对 Microsoft SQL Server 中临时表中的所有列求和

  16. 16

    find()具有相等且像帆一样

  17. 17

    在多行的一列中查找具有相同值的行,而另一列具有不同的值

  18. 18

    如何在具有不同行的一列上插入多个值?

  19. 19

    插入具有唯一ID的记录时,无法在触发器上执行多行插入

  20. 20

    我将如何同时插入具有所有不同子查询值的同一行,几乎就像在子查询上进行迭代一样?

  21. 21

    我不能像往常一样使用洪水

  22. 22

    像栏值中的通配符一样?

  23. 23

    与SQL Server批量插入,其中一列具有多个值,而其他所有列均具有预设值

  24. 24

    如何像查询精确值一样使用MySQL

  25. 25

    我想要具有5个值的HTML搜寻栏,当值显示image1时,也像值2显示image2一样

  26. 26

    检查一列中的所有ID在另一列,不同的表中是否具有特定值

  27. 27

    设置触发器以根据另一列更改列值

  28. 28

    像HTML中的列一样垂直包装

  29. 29

    像awk一样访问python中的列

热门标签

归档