我有一个简单的存储过程返回记录:
Select empID, EmpFirstName, EmpLastName from EMPLOYEES
Run Code Online (Sandbox Code Playgroud)
返回的结果是:
EmpID EmpFirstName EmpLastName
----- ------------ -----------
30152 John Smith
30114 Tom Jones
56332 Steve Williams
85442 Paul Johnson
Run Code Online (Sandbox Code Playgroud)
我需要的是:
RecID EmpID EmpFirstName EmpLastName
----- ----- ------------ -----------
1 30152 John Smith
2 30114 Tom Jones
3 56332 Steve Williams
4 85442 Paul Johnson
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得recordID列?
谢谢
考虑以下SQL:
CREATE TABLE Foo
(
ID int IDENTITY(1,1),
Data nvarchar(max)
)
INSERT INTO Foo (Data)
SELECT TOP 1000 Data
FROM SomeOtherTable
WHERE SomeColumn = @SomeParameter
DECLARE @LastID int
SET @LastID = SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以依赖于我插入到具有连续标识值的表Foo中的1000行.换句话说,如果这个SQL块产生的@LastID为2000,我能否确定我插入的第一条记录的ID是1001?我主要是对多个语句同时将记录插入表Foo感到好奇.
我知道我可以在insert语句周围添加一个可序列化的事务来确保我想要的行为,但我真的需要吗?我担心引入可序列化的事务会降低性能,但如果SQL Server在此语句运行时不允许其他语句插入表Foo,那么我不必担心它.
如何[Order]在SQL Server 2000中按订单号填写列?
例如,我有一个SQL:
select Id, Tilte
from Tbl
order by Date
Run Code Online (Sandbox Code Playgroud)
我需要从这个查询栏写订单号[Order]的Tbl表.
这该怎么做?
非常感谢您的帮助!