sql语句中插入与自动增长同样的数
比如有表student,列有id,name,NO,id为自动增长,如何实现在插入的时候NO的值和id一样的数字? SQL 自动增长
[解决办法]
把NO设置为计算列
alter table student add NO as ID
[解决办法]
插入后再更新, s
[解决办法]
既然NO和ID一样,调用时直接用ID就可以了。
何必多一个字段。
[解决办法]
CREATE TABLE temp(id int IDENTITY, num int,NAME VARCHAR(10))
go
--方法1,写个触发器
CREATE TRIGGER tr_test ON temp
AFTER INSERT
AS
begin
UPDATE A
SET A.num = A.id
FROM temp A
INNER JOIN INSERTED I
ON A.id = I.id
END
--test
INSERT temp (name) SELECT 'name1' UNION ALL SELECT 'name2'
/*
idnumNAME
11name1
22name2
*/
--方法2,output into 方法
DECLARE @temp table (id int)
INSERT temp (name)
OUTPUT INSERTED.id
INTO @temp(id)
SELECT 'name3' UNION ALL SELECT 'name4'
UPDATE A
SET A.num = A.id
FROM temp A
INNER JOIN @temp I
ON A.id = I.id