有一张表
t_User_Role(f_User_Role_id,f_User_Name,f_Role_Name)
要向该表中insert几条记录,现已经知道f_User_Name和f_Role_Name的值,在insert时要求f_User_Role_id自动+1,请问此insert语句应该如何写,谢谢!
INSERT INTO t_User_Role(f_User_Role_id,f_User_Name,f_Role_Name)
SELECT MAX(f_User_Role_id) + 1,f_User_Name,f_Role_Name FROM t_User_Role
INSERT INTO t_User_Role(f_User_Role_id,f_User_Name,f_Role_Name)
SELECT max(f_User_Role_id) + 1,f_User_Name,f_Role_Name FROM t_User_Role
insert t_User_Role(f_User_Role_id,f_User_Name,f_Role_Name)
values(MAX(f_User_Role_id) + 1,f_User_Name,f_Role_Name)
同意楼上 zjcxc(邹建)
create table t_User_Role(f_User_Role_id int,f_User_Name varchar(10),f_Role_Name varchar(10))
go
--处理的触发器
create trigger t_insert on t_User_Role
for insert
as
declare @id int
select @id=max(f_User_Role_id) from t_User_Role
if @id is null set @id=0
update t_User_Role set @id=@id+1,f_User_Role_id=@id
where f_User_Role_id is null
go
--插入单条记录
insert into t_User_Role(f_User_Name,f_Role_Name) values(张三,A部门)
--插入多条记录
insert into t_User_Role(f_User_Name,f_Role_Name)
select 张三丰,A部门
union all select 李四,B部门
go
--显示结果
select * from t_User_Role
go
--删除测试
drop table t_User_Role
/*--测试结果
f_User_Role_id f_User_Name f_Role_Name
-------------- ----------- -----------
1 张三 A部门
2 张三丰 A部门
3 李四 B部门
--*/