相关疑难解决方法(0)

在我的SQL select查询中获取recordID

我有一个简单的存储过程返回记录:

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 sql-server select stored-procedures

8
推荐指数
1
解决办法
7499
查看次数

插入的记录是否始终接收连续的标识值

考虑以下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,那么我不必担心它.

sql-server sql-server-2005

5
推荐指数
2
解决办法
2421
查看次数

如何在SQL Server中按订单号填写"[Order]"列?

如何[Order]在SQL Server 2000中按订单号填写列?

例如,我有一个SQL:

select Id, Tilte 
from Tbl 
order by Date
Run Code Online (Sandbox Code Playgroud)

我需要从这个查询栏写订单号[Order]Tbl表.

这该怎么做?

非常感谢您的帮助!

sql sql-server sql-server-2000 sql-order-by

0
推荐指数
1
解决办法
1048
查看次数