SELECT
1行を出力するステートメントを含むストアドプロシージャがあります。これは次のようなものです。
CREATE PROCEDURE [dbo].[CreateCustomer]
...
INSERT INTO Customers values(, , , ,)
SELECT CustomerID, FirstName, LastNam.....
INSERT Roles values(, , , .....
これにより、新しく保存された値がCustomers
テーブルから選択されます。2番目の挿入では、new CustomerID
を使用して新しい行をRoles
テーブルに挿入します。
customerID
CustomerIDを再度クエリせずに、上記のselectステートメントからを取得する方法はありますか?
私は変数を宣言して、次のようにしようとしました:
SELECT takenCustomerID = CustomerID, FirstName, LastNam....(rest of query statement)
しかし、私はすべての変数を宣言し、次のようにする必要があります。
SELECT takenCustomerID, takenFirstName, takenLastNa... = CustomerID, FirstName, LastNam... (rest of query statement)
しかし、これはサーバー側で多くのメモリを浪費するので悪いことだと思います。
それで、TEMP( "customerID")を呼び出してその値を取得できる組み込みのTEMPのような変数など、selectステートメントですべての変数を宣言せずに個々の値をすぐに取得する簡単な方法はありますか?
また、ストアドプロシージャに複数のSELECTステートメントを含めることはできますか?必要なselectステートメントからselect値を取得するにはどうすればよいですか?
私はすでに価値を得る方法を知っているので、好奇心からもっと多くを求めています。もっとエレガントな方法があるかどうか知りたいだけです。