第一种:declare @NB table(代码 int,名称 varchar(10),年份 int)
insert into @NB
select 12,'单位1',2003
union all select 12,'单位1',2004
union all select 22,'单位2',2001
union all select 22,'单位2',2002
union all select 22,'单位2',2003第二种:
declare @NB table(代码 int,名称 varchar(10),年份 int)
insert into @NB values(12,'单位1',2003)
insert into @NB values(12,'单位1',2004)
insert into @NB values(22,'单位2',2001)
insert into @NB values(22,'单位2',2002)
insert into @NB values(22,'单位2',2003)
insert into @NB
select 12,'单位1',2003
union all select 12,'单位1',2004
union all select 22,'单位2',2001
union all select 22,'单位2',2002
union all select 22,'单位2',2003第二种:
declare @NB table(代码 int,名称 varchar(10),年份 int)
insert into @NB values(12,'单位1',2003)
insert into @NB values(12,'单位1',2004)
insert into @NB values(22,'单位2',2001)
insert into @NB values(22,'单位2',2002)
insert into @NB values(22,'单位2',2003)
第一种,在一个事务中插入多条数据。即使是在插入最后一行数据时发生错误,整个插入都会被取消。如果插入的数据非常多,会占用大量的日志空间。
第二种,多条数据分别在多个事务中插入。任何一条语句发生错误,只会取消本条语句插入的数据,不影响已经插入的数据。在 simple 恢复模式下,即使插入的数据非常多,日志空间也会被循环使用,不会占用太多的日志空间。
第一种,在一个事务中插入多条数据。即使是在插入最后一行数据时发生错误,整个插入都会被取消。如果插入的数据非常多,会占用大量的日志空间。
第二种,多条数据分别在多个事务中插入。任何一条语句发生错误,只会取消本条语句插入的数据,不影响已经插入的数据。在 simple 恢复模式下,即使插入的数据非常多,日志空间也会被循环使用,不会占用太多的日志空间。呵呵学习学习
insert into @NB values (12,'单位1',2003)
insert into @NB values(12,'单位1',2004)
insert into @NB values(22,'单位2',2001)
insert into @NB values(22,'单位2',2002)
insert into @NB values(22,'单位2','2003')
为什么最后一行,最后一列年份的数据类型和定义的类型不符合时,仍可以执行通过???
union all select 12,'单位1',2004
union all select 22,'单位2',2001
union all select 22,'单位2',2002
union all select 22,'单位2',2003
就是一集合