我有一个带有SELECT
输出一行的语句的存储过程。它是这样的:
CREATE PROCEDURE [dbo].[CreateCustomer]
...
INSERT INTO Customers values(, , , ,)
SELECT CustomerID, FirstName, LastNam.....
INSERT Roles values(, , , .....
Customers
这将从表中选择新存储的值。第二次插入使用 new CustomerID
向Roles
表中插入新行。
有没有办法只customerID
从上面的 select 语句中获取而无需再次查询 CustomerID?
我试图声明一个变量并这样做:
SELECT takenCustomerID = CustomerID, FirstName, LastNam....(rest of query statement)
但我必须声明所有变量并这样做:
SELECT takenCustomerID, takenFirstName, takenLastNa... = CustomerID, FirstName, LastNam... (rest of query statement)
但是,我认为这很糟糕,因为它在服务器端浪费了大量内存。
那么,是否有一种简单的方法可以立即获取单个值,而无需在 select 语句中声明所有变量,例如可以调用 TEMP("customerID") 并获取该值的内置类似 TEMP 的变量?
另外,存储过程中可以有多个 SELECT 语句吗?我们如何从我们想要的 select 语句中获取 select 值?
出于好奇,我要求更多,因为我已经知道获得价值的方法。我只是想知道是否有更优雅的方式。